Board logo

標題: [發問] 特定值迴圈寫法 [打印本頁]

作者: mash071896    時間: 2021-1-15 08:50     標題: 特定值迴圈寫法

各位大大好
想請教迴圈寫法,
要把工作表1的值(A欄),
貼到工作表2的A~C欄並按照順序,
目前的寫法是用餘數方式(MOD)處理跳欄的問題
  1.     For i = 0 To 14
  2.    
  3.         Cells(1 + Int(i / 3), 1 + (i Mod 3)) = .Cells(1 + i, 1).Value

  4.     Next
複製代碼
想請問是不是有再多一個迴圈寫法,
只重複三個值,如[0,1,2]陣列,
可以讓我帶入cells裡面執行跳欄的動作,
還請大大們指導,謝謝。
作者: hcm19522    時間: 2021-1-15 10:02

https://blog.xuite.net/hcm19522/twblog/589560731
作者: ikboy    時間: 2021-1-15 11:34

  1. Sub zz()
  2. Dim c, n&
  3. c = Array(0, 1, 2)
  4. For i = 1 To 15 Step UBound(c) + 1
  5.     n = n + 1
  6.     For Each j In c
  7.         Cells(n, j + 1) = i + j
  8.     Next
  9. Next
  10. End Sub
複製代碼

作者: mash071896    時間: 2021-1-15 11:49

回復 2# hcm19522
感謝大大!學到了
作者: mash071896    時間: 2021-1-15 11:49

回復 3# ikboy
感謝大大!是array沒錯!
作者: mash071896    時間: 2021-1-15 13:45

註解
  1. Sub zz()
  2. Dim c, n&   '定義c、n變數為long(常整數)
  3. c = Array(0, 1, 2)   'c 等於陣列(0,1,2)當作跳欄變數
  4. For i = 1 To 15 Step UBound(c) + 1   '迴圈1到15,以3為間隔(Ubound(c)=2)
  5.     n = n + 1          '內插變數n(列的變數),j為array裡的0,1,2
  6.     For Each j In c  'n初始值0會帶出1,並迴圈0,1,2
  7.         Cells(n, j + 1) = i + j   '帶出cells(1,1)=1、cells(1,2)=2、cells(1,3)=3
  8.     Next '循環n會再+1,讓cells跳下一列
  9. Next
  10. End Sub
複製代碼





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