Board logo

標題: [發問] 關於For迴圈的使用(已解決) [打印本頁]

作者: av8d    時間: 2011-8-12 11:46     標題: 關於For迴圈的使用(已解決)

本帖最後由 av8d 於 2011-8-15 12:11 編輯
  1. Private Sub CommandButton1_Click()

  2.     '複製主檔案
  3.     Range("A1:H44").Select
  4.     Selection.Copy
  5.    
  6.     '貼上2.3.4...頁面
  7.     Range("A54:D97").Select
  8.     ActiveSheet.Paste

  9.     Range("A107:D150").Select
  10.     ActiveSheet.Paste
  11.     '.
  12.     '.
  13.     '.
  14.     Range("A478:D521").Select
  15.     ActiveSheet.Paste

  16.    
  17.     '調整列高
  18.     Rows("45:53").Select
  19.     Selection.RowHeight = 16.5
  20.    
  21.     Rows("98:106").Select
  22.     Selection.RowHeight = 16.5
  23.     '.
  24.     '.
  25.     '.
  26.     Rows("469:477").Select
  27.     Selection.RowHeight = 16.5


  28. 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

不知道對不對? 煩請各位大大指導了!

------------------------------------------------------------------------
感謝2樓大大~GBKEE大大您給的正是我要的答案~再次感謝兩位!
                                                                                          2011/8/15 留
------------------------------------------------------------------------
作者: hugh0620    時間: 2011-8-12 12:46

回復 1# av8d

迴圈初步概念如下
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累加到滿足妳的條件下離開~

至於樓主要的解決方式~ 是否提供檔案~ 可以比較清楚知道樓主你要的結果是什麼....
作者: GBKEE    時間: 2011-8-12 14:26

回復 1# av8d
  1. Sub Ex()
  2.     Dim i As Integer
  3.     With ActiveSheet
  4.         .[A1:H44].Copy
  5.         For i = 53 To 477 Step 53
  6.             .Paste Range("a" & i)
  7.             .Rows(i & ":" & i + 43).RowHeight = 16.5
  8.         Next
  9.     End With
  10.     Application.CutCopyMode = False
  11. End Sub
複製代碼

作者: av8d    時間: 2011-8-17 16:55

回復 3# GBKEE

突然發現一個問題~在複製的時候~中間的第12,34列~向下複製後~下方的對應列~寬度都會變寬(原寬度16.5)~請問我是否還有下For迴圈去制定他的寬度呢?還是有其他方法?
檔案如下:
    [attach]7482[/attach]




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