返回列表 上一主題 發帖

請簡化錄製的程式碼

請簡化錄製的程式碼

本帖最後由 ziv976688 於 2021-7-23 12:51 編輯

'複製指定的DATA!A:I範圍,貼上6個工作表的AU2
Sheets("DATA").Range("A1850:I1875").Select
        Selection.Copy
        Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8")).Select
        .Range("AU2").Select
        ActiveSheet.Paste
謝謝 !

不好意思,漏了2列
'複製指定的DATA!A:I範圍,貼上6個工作表的AU2
Sub Macro1()
    Range("A1850:I1875").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8")).Select
    Sheets("準3進4").Activate
    Range("AU2").Select
    ActiveSheet.Paste
End Sub

TOP

回復 2# ziv976688

Sub test()
    For Each xs In Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
        Sheets("DATA").Range("A1850:I1875").Copy xs.Range("AU2")
    Next
End Sub
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 2# ziv976688


Sub test()
For Each ws In Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
    Set Rng = ws.[AU2]
    Sheets("DATA").Range("A1850:I1875").Copy Rng
Next
End Sub

TOP

本帖最後由 ziv976688 於 2021-7-23 16:41 編輯

回復 3# ML089
謝謝您的指導~感恩

另外我把程式碼貼到DATA!
請問:下列的程式碼可以如何再簡(優)化?
謝謝您
TEST_連續複製.rar (84.14 KB)
    Nrange = "1878" 'InputBox("請輸入運算的迄止期數", "輸入期數")
    Num = "25" 'InputBox("請輸入複製的期距數範圍", "輸入距期數")

'連續複製
'列36
    For Each xS In Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
        Sheets("DATA").Range("A" & Nrange - Num - 2, "I" & Nrange - 2).Copy xS.Range("AU2") '複製指定的DATA!A:I範圍貼上AU2
    Next
   
    For Each xS In Sheets(Array("準4進5", "準5進6", "準6進7", "準7進8"))
        Sheets("DATA").Range("A" & Nrange - Num - 3, "I" & Nrange - 3).Copy xS.Range("BD2")
    Next
   
    For Each xS In Sheets(Array("準5進6", "準6進7", "準7進8"))
        Sheets("DATA").Range("A" & Nrange - Num - 4, "I" & Nrange - 4).Copy xS.Range("BM2")
    Next

    For Each xS In Sheets(Array("準6進7", "準7進8"))
        Sheets("DATA").Range("A" & Nrange - Num - 5, "I" & Nrange - 5).Copy xS.Range("BV2")
    Next
        
    For Each xS In Sheets("準7進8")
        Sheets("DATA").Range("A" & Nrange - Num - 6, "I" & Nrange - 6).Copy xS.Range("CE2")
    Next

TOP

回復 4# samwang
謝謝您的指導~感恩
5樓的需求~懇請賜教。
謝謝您

TOP

本帖最後由 ML089 於 2021-7-23 23:07 編輯

回復 5# ziv976688

Nrange = "1878" 'InputBox("請輸入運算的迄止期數", "輸入期數")
    Num = "25" 'InputBox("請輸入複製的期距數範圍", "輸入距期數")

'    '連續複製
'    '列36
'    For Each xS In Sheets(Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8"))
'        Sheets("DATA").Range("A" & Nrange - Num - 2, "I" & Nrange - 2).Copy xS.Range("AU2")    '複製指定的DATA!A:I範圍貼上AU2
'    Next
'
'    For Each xS In Sheets(Array("準4進5", "準5進6", "準6進7", "準7進8"))
'        Sheets("DATA").Range("A" & Nrange - Num - 3, "I" & Nrange - 3).Copy xS.Range("BD2")
'    Next
'
'    For Each xS In Sheets(Array("準5進6", "準6進7", "準7進8"))
'        Sheets("DATA").Range("A" & Nrange - Num - 4, "I" & Nrange - 4).Copy xS.Range("BM2")
'    Next
'
'    For Each xS In Sheets(Array("準6進7", "準7進8"))
'        Sheets("DATA").Range("A" & Nrange - Num - 5, "I" & Nrange - 5).Copy xS.Range("BV2")
'    Next
'
'    For Each xS In Sheets("準7進8")
'        Sheets("DATA").Range("A" & Nrange - Num - 6, "I" & Nrange - 6).Copy xS.Range("CE2")
'    Next
   
   
    Srr = Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8")
    Prr = Array("AU2", "BD2", "BM2", "BV2", "CE2")
    Nrr = Array(2, 3, 4, 5, 6)
    For i = 0 To 4
       For j = i To 4 '注意 已經修改過
            Sheets("DATA").Range("A" & Nrange - Num - Nrr(i), "I" & Nrange - 6).Copy Sheets(Srr(j)).Range(Prr(i))
            Application.Goto Sheets(Srr(j)).Range(Prr(i))
        Next
    Next
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

Application.Goto Sheets(Srr(j)).Range(Prr(i))
這是測試用可以刪除
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

Srr = Array("準3進4", "準4進5", "準5進6", "準6進7", "準7進8")
    Prr = Array("AU2", "BD2", "BM2", "BV2", "CE2")
    Nrr = Array(2, 3, 4, 5, 6)
    For i = 0 To 4
       For j = i To 4 '注意 已經修改過
            Sheets("DATA").Range("A" & Nrange - Num - Nrr(i), "I" & Nrange - 6).Copy Sheets(Srr(j)).Range(Prr(i))
            Application.Goto Sheets(Srr(j)).Range(Prr(i))
        Next
    Next
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 9# ML089
版主 :您好!
複製範圍有誤差~ TEST_連續複製(測試).rar (85.57 KB)
謝謝您

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題