Board logo

標題: [發問] 請問以欄為主的儲存格~如何設定迴圈?(已解決) [打印本頁]

作者: 棋語鳥鳴    時間: 2011-9-21 20:36     標題: 請問以欄為主的儲存格~如何設定迴圈?(已解決)

本帖最後由 棋語鳥鳴 於 2011-9-21 21:25 編輯

請問如何把下面寫成迴圈(共20個)
因為中有檔案一中(每2欄就有加了一欄資料)~所以從第二次貼到檔案二時會減一欄
錄製的程式碼如下:
請問迴圈要如何寫?
順便問一下:column(2)=Columns("B")
Columns("B:C")中的BC要如何以數字方式呈現??
  1. Sub 迴圈測試()

  2.     Windows("檔案一.xlsb").Activate
  3.     Sheets("輸入一").Select
  4.     Columns("T:U").Select
  5.     Selection.Copy
  6.     Windows("檔案二.xlsb").Activate
  7.     Columns("T:U").Select
  8.     ActiveSheet.Paste
  9.     Windows("檔案一.xlsb").Activate
  10.     Sheets("輸入一").Select
  11.     Columns("W:X").Select
  12.     Application.CutCopyMode = False
  13.     Selection.Copy
  14.     Windows("檔案二.xlsb").Activate
  15.     Sheets("貼上位置").Select
  16.     Columns("V:W").Select
  17.     ActiveSheet.Paste
  18.     Windows("檔案一.xlsb").Activate
  19.     Sheets("輸入一").Select
  20.     Columns("Z:AA").Select
  21.     Application.CutCopyMode = False
  22.     Selection.Copy
  23.     Windows("檔案二.xlsb").Activate
  24.     Sheets("貼上位置").Select
  25.     Columns("X:Y").Select
  26.     ActiveSheet.Paste
  27.     Windows("檔案一.xlsb").Activate
  28.     Sheets("輸入一").Select
  29.     Columns("AC:AD").Select
  30.     Application.CutCopyMode = False
  31.     Selection.Copy
  32.     Windows("檔案二.xlsb").Activate
  33.     Sheets("貼上位置").Select
  34.     Columns("Z:AA").Select
  35.     ActiveSheet.Paste
  36.     Windows("檔案一.xlsb").Activate
  37.     Columns("AF:AG").Select
  38.     Application.CutCopyMode = False
  39.     Selection.Copy
  40.     Windows("檔案二.xlsb").Activate
  41.     Sheets("貼上位置").Select
  42.     Columns("AB:AC").Select
  43.     ActiveSheet.Paste
  44.     Windows("檔案一.xlsb").Activate
  45.     Range("A1").Select
  46.     Application.CutCopyMode = False
  47.     Range("S1").Select
  48. End Sub
複製代碼

作者: GBKEE    時間: 2011-9-21 21:02

回復 1# 棋語鳥鳴
  1. Sub Ex()
  2.     Dim Rng As Range, Rng1 As Range, i As Integer
  3.     Set Rng = Workbooks("檔案一.xlsb").Sheets("輸入一").Columns("T:U")
  4.     Set Rng1 = Workbooks("檔案二.xlsb").Sheets(1).[T1]        'Sheets(1)    ->第1張工作表
  5.     'Set Rng1 = Workbooks("檔案二.xlsb").ActiveSheet.[T1]     'ActiveSheet  ->作用中的工作表
  6.     'Set Rng1 = Workbooks("檔案二.xlsb").Sheets("???").[T1]   'Sheets("???") ->指定的工作表
  7.     For i = 1 To 20                     '20次的迴圈
  8.         Rng.Copy Rng1
  9.         Set Rng = Rng.Offset(, 3)       '往後位移3欄
  10.         Set Rng1 = Rng1.Offset(, 3)     '往後位移3欄
  11.     Next
  12. End Sub
複製代碼

作者: 棋語鳥鳴    時間: 2011-9-21 21:24

回復 2# GBKEE


    G大您真強,這麼短的時間就改好了,而且寫得這麼詳細!一看就明瞭!完全正確~省了我好多的時間!謝謝您了~~




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