關於For迴圈的使用

關於For迴圈的使用

Private Sub CommandButton1_Click()
    '複製主檔案
    Range("A1:H44").Select
    Selection.Copy
   
    '貼上2.3.4...頁面
    Range("A54:D97").Select
    ActiveSheet.Paste
    Range("A107:D150").Select
    ActiveSheet.Paste
    '.
    '.
    '.
    Range("A478:D521").Select
    ActiveSheet.Paste
   
    '調整列高
    Rows("45:53").Select
    Selection.RowHeight = 16.5
   
    Rows("98:106").Select
    Selection.RowHeight = 16.5
    '.
    '.
    '.
    Rows("469:477").Select
    Selection.RowHeight = 16.5

End Sub

以上程式運行期間,每次貼都會出現"您要取代目標的儲存格嗎?"

我計算出他們的等差=53

未來我打算利用Textbox填入後執行

有沒有比較快的寫法嗎? 不一定要用For迴圈也可以

迴圈初步概念如下
Dim r1=1 , r2=44
Range("A" r1 & ":H" & "r2").Select
For r1<478 then
    r1=r1+53
Next

For r2<521 then
    r2=r2+53
Next

不知道對不對?
---------------
答:
語法有誤唷~ 
FOR的語法應該是下述方式 (從多少到多少)
for i =1 to 100 ...... next

你可以使用Do ....Loop的方式可以上r1與r2累加到滿足妳的條件下離開~
----------------
答:
試一下以下程式碼:
Sub Ex()
    Dim i As Integer
    With ActiveSheet
    .[A1:H44].Copy
    For i = 53 To 477 Step 53
    .Paste Range("a" & i)
    .Rows(i & ":" & i + 43).RowHeight = 16.5
    Next
    End With
    Application.CutCopyMode = False
End Sub
-----------

沒有留言:

張貼留言