ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] [¸ê®Æ°Ï°ìªº¿ï¾Ü]§t¤½¦¡¦ýµL¼Æ­ÈªºÀx¦s®æµø¬°ªÅ¥Õ

[µo°Ý] [¸ê®Æ°Ï°ìªº¿ï¾Ü]§t¤½¦¡¦ýµL¼Æ­ÈªºÀx¦s®æµø¬°ªÅ¥Õ

½¤F¤å,§ä¨ì¤@­Ó¾A¥Îªº,¦ý¬O¤£·|®M¥Î

½Ð°Ý¦p¦ó±NSheets("¤é³øªí").Range("B3")¤ºªº¸ê®Æ
½Æ»s¨ìSheets("ºî¦X¸ê®Æ®w").Range("B65536")

®M¥Î¤U¦C¨ç¦¡
lastRow = 65536 - Application.CountBlank(Columns(1))
[A1].Resize(lastRow).Copy

¦^´_ 19# jackson7015
§A»¡ªº¦³²z ¨º´N¬O¦h¾l¤F

TOP

¦^´_ 18# GBKEE


°õ¦æ¥¿±`¤F¡A·PÁª©¥D

·Q°Ý­Ó°ÝÃD¡A«e­±¤w¸g¦³¨ç¼Æ§PÂ_¦³µL¸ê®Æ¤F¡A¬°¦ó²Ä¢¶¦æÁÙ­n§PÂ_¤@¦¸¡H

§Ú§R°£«á¦n¹³¤]¬O¯à¥¿±`°õ¦æ
  1. If Application.CountA(Rng) = 0 Then MsgBox "¤é³øªí ¨S¦³¸ê®Æ !!!": Exit Sub '§PÂ_¤é³øªí¦³¨S¦³¸ê®Æ
½Æ»s¥N½X

TOP

¦^´_ 17# jackson7015
  1. With Sheets("¤é³øªí")
  2.         If .Cells(Rows.Count, "D").End(xlUp).Row = 4 Then   '°»¬d¬O§_¸ê®Æ
  3.             MsgBox "¤é³øªí  ¨S¦³¸ê®Æ !!"
  4.             Exit Sub
  5.         End If
  6.         Set Rng = .Range("d7", .Cells(Rows.Count, "D").End(xlUp)) '  **** ³o¸Ì§ï¦¨ ¥Ñ¤U©¹¤W  ¸ê®Æ½d³ò: BÄ榳¸ê®Æªº¦C
  7.         If Application.CountA(Rng) = 0 Then MsgBox "¤é³øªí ¨S¦³¸ê®Æ !!!": Exit Sub '§PÂ_¤é³øªí¦³¨S¦³¸ê®Æ
  8.         If MsgBox("¬O§_°õ¦æ½Æ»s¡H", vbYesNo) = vbNo Then Exit Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ jackson7015 ©ó 2012-2-20 13:50 ½s¿è

¦^´_ 16# GBKEE

¤µ¤Ñ´ú¸Õ¤F­×§ï«áªº¥¨¶°

¦pªG¦A¤é³øªí¤º¥u¦³1Äæ(¦pÀÉ)¸ê®Æ,«h¨Ï¥Î¥¨¶°«á·|¥X²{¤F¿ù»~°T®§"°õ¦æ¶¥¬q¿ù»~1004"

³o­Ó¿ù»~¥u¦³¦b¤é³øªí¥u¦³¤@«h¸ê®Æ¤~·|µo¥Í,¦h©ó1«h¤£·|

ªþ¤WÀɮשM¥N½X

¤u§@¤é³øªí.rar (155.08 KB)
  1. Sub ²Ö­p¤é³øªí¸ê®Æ()
  2.     Dim Ar(), Rng As Range, Xi As Long
  3.     With Sheets("¤é³øªí")
  4.         Set Rng = .Range("d7", .[d7].End(xlDown))  '¸ê®Æ½d³ò: BÄ榳¸ê®Æªº¦C
  5.         If Application.CountA(Rng) = 0 Then MsgBox "¤é³øªí ¨S¦³¸ê®Æ !!!": Exit Sub '§PÂ_¤é³øªí¦³¨S¦³¸ê®Æ
  6.         If MsgBox("¬O§_°õ¦æ½Æ»s¡H", vbYesNo) = vbNo Then Exit Sub
  7.         ReDim Ar(1 To Rng.Count, 1 To 20)          '°}¦Cªº¤j¤p 1 To 20 => ¸ê®Æ½d³ò BÄæ:VÄæ
  8.         For Xi = 1 To Rng.Count
  9.             Ar(Xi, 1) = .[B3]                      '¤é´Á
  10.             Ar(Xi, 2) = .Cells(Rng(Xi).Row, "B")   '¹ê½Õ®Ñ½s¸¹
  11.             Ar(Xi, 3) = .Cells(Rng(Xi).Row, "N")   '¹q¸¹
  12.             Ar(Xi, 4) = .Cells(Rng(Xi).Row, "D")   '¦aÂI
  13.             SS = "=IF(RC[4]=1,""¬dµLÅѹq"",IF(RC[3]=1,""½]¬d¦¨®×"" & SUM(RC[6]:RC[9])&""KW"",""""))"
  14.             Ar(Xi, 5) = SS                         '¬O§_¦¨®×
  15.             Ar(Xi, 6) = .Cells(Rng(Xi).Row, "E")   '±K§i
  16.             Ar(Xi, 7) = .Cells(Rng(Xi).Row, "F")   '«D±K§i
  17.             KK = "=IF(COUNTA(RC[+1]),""¬O"",IF(COUNTA(RC[+2]),""§_"",""""))"
  18.             Ar(Xi, 8) = KK                         '²{³õÀËÅçµ²ªG
  19.             Ar(Xi, 9) = .Cells(Rng(Xi).Row, "G")   '¬O
  20.             Ar(Xi, 10) = .Cells(Rng(Xi).Row, "H")  '§_
  21.             Ar(Xi, 11) = .Cells(Rng(Xi).Row, "I")  '¿O(´c©Ê
  22.             Ar(Xi, 12) = .Cells(Rng(Xi).Row, "J")  '¤O(´c©Ê
  23.             Ar(Xi, 13) = .Cells(Rng(Xi).Row, "K")  '¿O(«D´c©Ê
  24.             Ar(Xi, 14) = .Cells(Rng(Xi).Row, "L")  '¤O(«D´c©Ê
  25.             Ar(Xi, 15) = .Cells(Rng(Xi).Row, "A")  '¶µ¥Ø
  26.             Ar(Xi, 16) = .Cells(Rng(Xi).Row, "O")  'Àç·~
  27.             Ar(Xi, 17) = .Cells(Rng(Xi).Row, "R")  '¦æ·~§O
  28.             Ar(Xi, 18) = .Cells(Rng(Xi).Row, "Q")  'Åѹq¤è¦¡
  29.             Ar(Xi, 19) = .Cells(Rng(Xi).Row, "S")  '²¾°e±¡§Î
  30.             Ar(Xi, 20) = .Cells(Rng(Xi).Row, "P")  '´£³ø³¡ªù
  31.          Next
  32.     End With
  33.          With Sheets("ºî¦X¸ê®Æ®w").Cells(Rows.Count, "B").End(xlUp).Offset(1)
  34.          .Resize(Rng.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(Ar))
  35.     End With
  36. End Sub
½Æ»s¥N½X
.Resize(Rng.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(Ar))
²Ä34¦æ¥X²{¿ù»~

½Ð°Ý­n­×§ï¤°»ò©O?

¦Ó­ì¥»ªºInteger ÅܼÆ,¬°¤°»ò¤£ª½±µ¨Ï¥ÎLongÅܼƴN¦n,°õ¦æ¦ì¤¸²Õ¸û¦h
¬O§_¦³ª©¥»ªº°ÝÃD¦Ó¤£¯àª½±µ¨Ï¥ÎLongÅܼÆ?

TOP

¦^´_ 15# jackson7015
Xi As Integer  ³o¸Ì«Å§i Integer ÅܼƫY¥H½d³ò¬° -32,768 ¨ì 32,767 ¤§ 16 ¦ì¤¸ (2 ­Ó¦ì¤¸²Õ) ¼Æ¦rªº§Î¦¡Àx¦s
­×§ï¬°
Xi As Long   Long (ªø¾ã¼Æ)ÅܼƫY¥H½d³ò±q -2,147,483,648 ¨ì 2,147,483,647 ¤§ 32 ¦ì¤¸ (4 ­Ó¦ì¤¸²Õ) ¦³¸¹¼Æ¦r§Î¦¡Àx¦s¡CLong ªº«¬ºA«Å§i¦r¤¸¬° &¡C

Sub ²Ö­p¤é³øªí¸ê®Æ()
  '  *** If MsgBox("¬O§_°õ¦æ½Æ»s¡H", vbYesNo) = vbNo Then Exit Sub  ²¾¨ì¤U¤è
    Dim Ar(), Rng As Range, Xi As Long
    With Sheets("¤é³øªí")
        Set Rng = .Range("d7", .[d7].End(xlDown))  '¸ê®Æ½d³ò: BÄ榳¸ê®Æªº¦C
          ' *** ¥[¤W§PÂ_¤é³øªí ¨S¦³¸ê®Æ  ****
        If Application.CountA(Rng) = 0 Then MsgBox "¤é³øªí ¨S¦³¸ê®Æ !!!": Exit Sub   
        If MsgBox("¬O§_°õ¦æ½Æ»s¡H", vbYesNo) = vbNo Then Exit Sub
        ReDim Ar(1 To Rng.Count, 1 To 20)          '°}¦Cªº¤j¤p 1 To 20 => ¸ê®Æ½d³ò BÄæ:VÄæ
        For Xi = 1 To Rng.Count     '<-¬O³o¸Ì¿ù»~  Xi As Integer
'¤é³øªí ¨S¦³¸ê®Æ  Rng.Count =Rows.Count-7 : 2003ª© 65,536 - 7  > 32,767

TOP

¦^´_ 14# GBKEE

¤§«á­n¥X®t´X¤Ñ

¥ýªþ¤WÀÉ®×

123.rar (93.54 KB)

TOP

¦^´_ 13# jackson7015
¶ÇÀɬݬÝ

TOP

¦^´_ 11# GBKEE

³o¨â¤Ñ·s¼W¤F¤@¨Ç¶µ¥Ø¡A¥i¬O©¿µM¥X²{²Ä¤»¦æ"·¸¦ì"¿ù»~°T®§

¥i¥H³Â·ÐÀ°¦£¬Ý¬Ý¬O«ç¼Ëªº¿ù»~¶Ü
  1. Sub ²Ö­p¤é³øªí¸ê®Æ()
  2.     If MsgBox("¬O§_°õ¦æ½Æ»s¡H", vbYesNo) = vbNo Then Exit Sub
  3.     Dim Ar(), Rng As Range, Xi As Integer
  4.     With Sheets("¤é³øªí")
  5.         Set Rng = .Range("d7", .[d7].End(xlDown))  '¸ê®Æ½d³ò: BÄ榳¸ê®Æªº¦C
  6.         ReDim Ar(1 To Rng.Count, 1 To 20)          '°}¦Cªº¤j¤p 1 To 20 => ¸ê®Æ½d³ò BÄæ:VÄæ
  7.         For Xi = 1 To Rng.Count
  8.             Ar(Xi, 1) = .[B3]                      '¤é´Á
  9.             Ar(Xi, 2) = .Cells(Rng(Xi).Row, "B")   '½s¸¹
  10.             Ar(Xi, 3) = .Cells(Rng(Xi).Row, "N")   '¹q
  11.             Ar(Xi, 4) = .Cells(Rng(Xi).Row, "D")   '¦aÂI
  12.             SS = "=IF(RC[4]=1,""¬dµL"",IF(RC[3]=1,""¦¨®×"" & SUM(RC[6]:RC[9])&""KW"",""""))"
  13.             Ar(Xi, 5) = SS                         '¬O§_¦¨®×
  14.             Ar(Xi, 6) = .Cells(Rng(Xi).Row, "E")   '±K
  15.             Ar(Xi, 7) = .Cells(Rng(Xi).Row, "F")   '«D±K
  16.             KK = "=IF(COUNTA(RC[+1]),""¬O"",IF(COUNTA(RC[+2]),""§_"",""""))"
  17.             Ar(Xi, 8) = KK                         '²{³õÀËÅçµ²ªG
  18.             Ar(Xi, 9) = .Cells(Rng(Xi).Row, "G")   '¬O
  19.             Ar(Xi, 10) = .Cells(Rng(Xi).Row, "H")  '§_
  20.             Ar(Xi, 11) = .Cells(Rng(Xi).Row, "I")  '¿O(´c
  21.             Ar(Xi, 12) = .Cells(Rng(Xi).Row, "J")  '¤O(´c
  22.             Ar(Xi, 13) = .Cells(Rng(Xi).Row, "K")  '¿O(«D´c
  23.             Ar(Xi, 14) = .Cells(Rng(Xi).Row, "L")  '¤O(«D´c©Ê
  24.             Ar(Xi, 15) = .Cells(Rng(Xi).Row, "A")  '¶µ¥Ø
  25.             Ar(Xi, 16) = .Cells(Rng(Xi).Row, "O")  'Àç·~
  26.             Ar(Xi, 17) = .Cells(Rng(Xi).Row, "R")  '¦æ·~§O
  27.             Ar(Xi, 18) = .Cells(Rng(Xi).Row, "Q")  '¤è¦¡
  28.             Ar(Xi, 19) = .Cells(Rng(Xi).Row, "S")  '²¾°e
  29.             Ar(Xi, 20) = .Cells(Rng(Xi).Row, "P")  '³¡ªù
  30.          Next
  31.     End With
  32.          With Sheets("ºî¦X¸ê®Æ®w").Cells(Rows.Count, "B").End(xlUp).Offset(1)
  33.          .Resize(Rng.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(Ar))
  34.     End With
  35. End Sub
½Æ»s¥N½X
ReDim Ar(1 To Rng.Count, 1 To 20)
¥X²{¿ù»~

TOP

¦^´_ 11# GBKEE


    ÁA¸Ñ¤F¡A¦Û¤v¤]¸Õ¹L[B3]¡A«o¥X²{¿ù»~¡A¤Ö¤@­Ó³rÂI¯uªº´N®t¦n¦h

·PÁª©¥D«ü¾É

TOP

        ÀR«ä¦Û¦b : §Ú­Ì³Ì¤jªº¼Ä¤H¤£¬O§O¤H¡D¥i¯à¬O¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD