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

[µo°Ý] ½Ö¯àÀ°³o´X¥G­«½Æ°Ê§@ªºVBA½G¨­ ÁÂÁÂ

³z¹L¤u§@ºÞ²z­û¤§³B²zµ{§Ç¥iÆ[¹îEXCEL¨Ï¥Î¨t²Î¸ê·½¤§±¡ªp¡C
§ÚªºÀô¹Ò¡G°O¾ÐÅé4G,¥i¥Î2.9G¡AEXCEL¥Î¹F299,000K®É´N·|·í¡C
¥u¶}¡i~test% -.xls¡jÀÉ¡A¤£¶}¨ä¥LÀÉ¡A
(1)¥¼°õ¦æ«e¡AEXCEL¨Ï¥Îªº¨t²Î¸ê·½¡GCPU¨Ï¥Î²v26%¡A°O¾ÐÅé¥Î91,372K
(2)°õ¦æ«á¡A¤ÀªR¦Ü6®É¡AEXCEL¨Ï¥Îªº¨t²Î¸ê·½¡GCPU¨Ï¥Î²v61%¡A°O¾ÐÅé¥Î209,336K
(3)¤ÀªR¦Ü7®É¡AEXCEL¨Ï¥Îªº¨t²Î¸ê·½¡GCPU¨Ï¥Î²v55%¡A°O¾ÐÅé¥Î285,176K
(4)¤ÀªR¦Ü8®É¡AEXCEL¨Ï¥Îªº°O¾ÐÅé¹O290,000K®É¡A¥ÎESC¤¤Â_§@·~¡C
¤½¦¡¬Û·í¯Ó¸ê·½¡A³o¤äµ{¦¡¡A´X¥G©Ò¦³ªº¤u§@ªí³£¦³¤½¦¡¡A
¦pªG¤£¯à±j¤Æ¨t²Î¸ê·½¡A«Øij©îÀÉ¡A±N¤½¦¡Âনµ{¦¡©Mµ²ªG¸ê®Æ¤À¶}§e²{¡C
[color=blue]KY[/color]

TOP

³z¹L°_¦æ¤Î¨´¦æ°õ¦æ¡A¥i¶W¹L¸Uµ§copy¡G
Sub test()
    Rem '°_¦æ=3¡A¨´¦æ=10000¡A°õ¦æ®É¶¡¡G16:13:30~16:47:10
    Application.ScreenUpdating = False
    lineBegin = Worksheets("Data").Range("I4") '°_¦æ
    lineEnd = Worksheets("Data").Range("J4") '¨´¦æ
    For i = 1 To 10
        Worksheets("ªR" & i).Activate
        Rows(2).Copy
        For j = lineBegin To lineEnd
            Rows(j).PasteSpecial Paste:=xlPasteValues
        Next
        Rem ¨ú®ø½Æ»s¼Ò¦¡
        Application.CutCopyMode = False
    Next
    Application.ScreenUpdating = True
End Sub
[color=blue]KY[/color]

TOP

§Ú·Q§A²{¦b»Ý­nªº¡A¨Ã¤£¥u¬O³æ¯Âªºµ{¦¡¶}µo¡A¦Ó¬O¦p¦ó¨Ï¥Î¦³­­ªº¨t²Î¸ê·½«Ø¸m¤j¶qªº¸ê®Æ¡C
³o¬Oº¡°ª¶¥ªº°ÝÃD¸Ñ¨M§Þ¥©¡AµLªk²Ó»¡¡A¥u¯à´£¨Ñ¹ê¨Ò¡C
±N¿ý»sªº¥¨¶°½G¨­¡A¥¦¨Ï¥Îªº¨t²Î¸ê·½ÁÙ¬O«Ü°ª¡A
¥Ø«e¦b§ÚªºÀô¹Ò¤U¡A²£¥Í1000µ§¥ª¥k¤§¸ê®Æ¡A¨Ï¥Î¸ê·½¤Î°õ¦æ®Ä¯à©|¥i¡A
­Y¬O­n²£¥Í3200µ§ªº¸ê®Æ¡A¯Ó¥Î¬ù20¤À30¬í¤§«á¡A·|¥X²{°T®§¡G¡i°O¾ÐÅ餣¨¬¡j¡C
¥Î§Úªºµ{¦¡¡A§Ú¬O¥H1000µ§¬°³B²z³æ¦ì¡A¯Ó¥Î¬ù07¤À²£¥Í64000µ§¸ê®Æ¡A¥¿±`µ²§ô¡C
´£¿ô¡Gxls¤@­Ó¤u§@ªí³Ì¦h¥u¯à¦³65536µ§¸ê®Æ¡C
½Ð¦b¡mData¡n¤u§@ªí¤§I4¤ÎJ4Àx¦s®æ¿é¤J°_©l¦C¤Î²×¤î¦C¡C

Sub copyForNext()
    Rem buffer = 999¡G¨C1000µ§¬°1­Ó³B²z³æ¦ì
    Application.ScreenUpdating = False
    Call clearRow '²M°£Â¸ê®Æ
    buffer = 999
    lineBegin = Worksheets("Data").Range("I4") '°_¦æ
    lineEnd = Worksheets("Data").Range("J4") '¨´¦æ
    For i = 1 To 10
        Worksheets("ªR" & i).Activate
        Rows(2).Copy
        For j = lineBegin To lineEnd
            k = j + buffer
            Rows(j & ":" & k).Select
            Selection.PasteSpecial Paste:=xlPasteAll
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues
            j = k
        Next
        Rem ¨ú®ø½Æ»s¼Ò¦¡
        Application.CutCopyMode = False
    Next
    Application.ScreenUpdating = True
End Sub

Sub clearRow()
    Worksheets(Array("ªR1", "ªR2", "ªR3", "ªR4", "ªR5", "ªR6", "ªR7", "ªR8", "ªR9", "ªR10")).Select
    Rows("3:" & Rows.Count).Select
    Selection.Clear
    '¥H¤U°Ê§@¡A¥u¬O²M°£¥ý«eªº¿ï¾Ü¡A¥H§K¤H¤u­n¥h¨ú®ø¿ï¾Ü¡C
    Range("A1").Select '¥Øªº¡G¥ý«e¿ï¾Ü°Ï°ìªº¤Ï¼v¡A¥u¯d¿ï¾Ü"A1"¤§Àx¦s®æ
    Worksheets("ªR1").Select '¥Øªº¡G¥ý«e¿ï¾Ü¤Q­Ó¤u§@ªí¡A¥u¯d¤@­Ó¿ï¾Ü"ªR1"¤§¤u§@ªí
End Sub

A.png
[color=blue]KY[/color]

TOP

¦^´_ 11# lcctno
½Ð½T»{¿é¤Jªº­È©M¸ê®Æ«¬ºA¬O§_¬°¼Æ¦r
[color=blue]KY[/color]

TOP

¦^´_ 13# lcctno
§Ú¤]¥¿¦n­nÁA¸Ñ§Úªº¨t²Î¸ê·½¤§·¥­­¡A¥H«Kµ{¦¡¤§¶}µo¡A§Aªºµ{¦¡¥¿¦n¥i¥H¨ó§U§Ú¶i¦æ¡AÁÂÁ¡C
[color=blue]KY[/color]

TOP

¦^´_ 17# lcctno

¥ý³B²z²Ä¤@­Ó°ÝÃD¡G
'Call clearRow '²M°£Â¸ê®Æ ¬Ý¯à¤£¯à¥u²M°£·í¤U­n°õ¦æªº¦a¤è §_«h¤§«e¤§­È´N³Q²M°£¤F Åܦ¨¥²¶·­n±qÀY°õ¦æ ¨º´NµLªkµ²¬Ù³B²z®É¶¡(¦]¬°¨C¶g¼W¥[©ó¤u§@­¶"Data"¤§¦C¼Æ¥u¦³¤Ö¼Æ´X¦C)
½Ð°Ý¡G§A©Ò¿×ªº·í¤U¬O¤°»ò¡H§A¤W¦¸´£¨ì­n¦Û²Ä3¦æ°_²M°£¸ê®Æ¡A§Ú¥u¬Ocall¥¦¡A¥H§K·s¸ê®Æ¤£¤À¡C
[color=blue]KY[/color]

TOP

§Ú¬ã§P§A»Ý­nªºÀ³¬O¡G
Sub clearRow()
    Worksheets(Array("ªR1", "ªR2", "ªR3", "ªR4", "ªR5", "ªR6", "ªR7", "ªR8", "ªR9", "ªR10")).Select
    lineBegin = Worksheets("Data").Range("K4") '°_¦æ
    Rows(lineBegin & ":" & Rows.Count).Select '¦Û§A«ü©wªº°_¦æ²M¨ì³Ì«á
    Selection.Clear
    Range("A1").Select
    Worksheets("ªR1").Select
End Sub
[color=blue]KY[/color]

TOP

        ÀR«ä¦Û¦b : ­n§åµû§O¤H®É¡A¥ý·Q·Q¦Û¤v¬O§_§¹¬üµL¯Ê¡C
ªð¦^¦Cªí ¤W¤@¥DÃD