Board logo

標題: [發問] 遞減複製標題 [打印本頁]

作者: ziv976688    時間: 2021-7-13 14:44     標題: 遞減複製標題

本帖最後由 ziv976688 於 2021-7-13 14:45 編輯

程式碼列98
'Sheets("DATA").Range("A1:I1").Copy .Range("B1").Resize(1, 90)
是將DATA! A1:I1的標題複製到各工作表的B1:CM1
如果是想將DATA! A1:I1複製到各工作表的次數,各依序遞減1次;;
即"準7進8"的範圍是.Range("B1").Resize(1, 90);"準6進7"的範圍是.Range("B1").Resize(1,81);….....;
"準2進3"的範圍是.Range("B1").Resize(1, 45) ;"準1進2"的範圍是.Range("B1").Resize(1,36)
請問:程式碼應如何編寫?
謝謝!
[attach]33608[/attach]
作者: samwang    時間: 2021-7-13 16:33

回復 1# ziv976688

請測試看看,謝謝

n = 90
For I = 1 To 7
    ...
    ...
    Sheets("DATA").Range("A1:I1").Copy .Range("B1").Resize(1, n)
    n = n - 9
作者: ziv976688    時間: 2021-7-13 16:51

回復 2# samwang
OK了!
謝謝指導
作者: singo1232001    時間: 2021-7-13 17:20

本帖最後由 singo1232001 於 2021-7-13 17:26 編輯

回復 1# ziv976688
作者: singo1232001    時間: 2021-7-13 17:42

回復 1# ziv976688


    這個檔案 會在同個路徑上 依照期數創 資料夾

檔案如上個檔案 同個資料夾內 期數 一樣會產生序號
作者: ziv976688    時間: 2021-7-13 19:16

本帖最後由 ziv976688 於 2021-7-13 19:22 編輯

回復 5# singo1232001
萬分感謝您再重新編寫程式~
只是1個資料夾只放1個效果檔,有一點不方便^^"
晚上我會仔細研究貴語法~感恩^^

PS : 原主檔的程式碼已可將StrRng和 Nrange填入的多個期數之效果檔,各以名稱別存入資料夾內。
作者: ziv976688    時間: 2021-7-13 19:38

回復 2# samwang
不好意思,能否再請您修正陣列的程式碼?謝謝您!

程式碼列115~列124
'        Sheets(Array("準7進8", "準6進7", "準5進6", "準4進5", "準3進4", "準2進3")).Select
'        Sheets("DATA").Range("A" & StrRng - 1, "I" & mthcount - 1).Copy .Range("AL2").Resize(1, mthcount - StrRng + 1)
'        Sheets(Array("準7進8", "準6進7", "準5進6", "準4進5", "準3進4")).Select
'        Sheets("DATA").Range("A" & StrRng - 2, "I" & mthcount - 2).Copy .Range("AU2").Resize(1, mthcount - StrRng + 1)
'        Sheets(Array("準7進8", "準6進7", "準5進6", "準4進5")).Select
'        Sheets("DATA").Range("A" & StrRng - 3, "I" & mthcount - 3).Copy .Range("BD2").Resize(1, mthcount - StrRng + 1)
'        Sheets(Array("準7進8", "準6進7", "準5進6")).Select
'        Sheets("DATA").Range("A" & StrRng - 4, "I" & mthcount - 4).Copy .Range("BM2").Resize(1, mthcount - StrRng + 1)
'        Sheets(Array("準7進8", "準6進7")).Select
'        Sheets("DATA").Range("A" & StrRng - 5, "I" & mthcount - 5).Copy .Range("BV2").Resize(1, mthcount - StrRng + 1)

以上的程式碼還是會將全部的資料內容列出
請問:正確的程式碼應如何編寫?
謝謝您!
[attach]33613[/attach]
作者: singo1232001    時間: 2021-7-13 19:47

本帖最後由 singo1232001 於 2021-7-13 19:55 編輯

回復 6# ziv976688


    #4 第一篇的兩個檔案 只會放在與主檔相同資料夾同一層
    #5 第二篇的兩個檔案 才會新創資料夾 放到下一層資料夾
   總共為4個版本  創檔xlsx與xls    vs   創或不創資料夾
作者: ziv976688    時間: 2021-7-13 19:55

本帖最後由 ziv976688 於 2021-7-13 20:02 編輯

回復 8# singo1232001
我知道,二個壓縮檔也都下載了,所以說晚上要研究和學習貴語法。
再次謝謝您!感恩:D
PS : 對VBA我還很"菜",必須花時間消化~請見諒!謝謝您!
作者: samwang    時間: 2021-7-13 21:20

回復 7# ziv976688

不好意思,看你的那程式碼太複雜,不知如何修改,看其他的大大有無好的解法,謝謝
作者: ziv976688    時間: 2021-7-13 21:38

本帖最後由 ziv976688 於 2021-7-13 21:50 編輯

回復 10# samwang
沒有關係!謝謝您的回覆。
可否請教~
Sheets(Array("準7進8", "準6進7", "準5進6", "準4進5", "準3進4", "準2進3")).Select
這段語法正確嗎?
為什麼包括"準1進2"也會 將Sheets("DATA").Range("A" & StrRng - 1, "I" & mthcount - 1).Copy 到.Range("AL2").Resize(1, mthcount - StrRng + 1)?
是不是受到列88  "For I = 1 To 7"  的影響?
謝謝您!
作者: samwang    時間: 2021-7-14 08:04

回復 11# ziv976688


Sheets(Array("準7進8", "準6進7", "準5進6", "準4進5", "準3進4", "準2進3")).Select
這段語法正確嗎? --> 正確

為什麼包括"準1進2"也會 將Sheets("DATA").Range("A" & StrRng - 1, "I" & mthcount - 1).Copy 到.Range("AL2").Resize(1, mthcount - StrRng + 1)? --> 不可能因為上面那段而影響"準1準2",一定是其它的地方導致
作者: ziv976688    時間: 2021-7-14 08:58

回復 12# samwang
謝謝您的耐心說明和指導。
我再想想看
感恩喔




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)