返回列表 上一主題 發帖

[發問] [發問]如何用迴圈取出陣列值,不斷放到一個固定範圍

[發問] [發問]如何用迴圈取出陣列值,不斷放到一個固定範圍

請教以下寫法

For i = 1 To

myarray = Split((Sheets(moneyprlist).Cells(i + 2, 14)), ",", , 1)

For j = 0 To UBound(myarray)

Sheets(moneyprlist).Cells(i + 2, j + 13) = myarray(j)
timer = timer + 1

Next  j

If timer = 6 Then

MsgBox "已經搜集六個了可以印囉"

Call ptprint

endif

end  sub

我想讓這程式的作用是將陣列裏的值放到 m3:m8 的固定範圍內,一共六個空格,當放滿六個時則清除該飯圍的值
繼續再取出六個值放入該飯圍,直到取完陣列裏所有的值為止

不知道該怎麼寫 請指導 謝謝

請各位高手指導一下怎麼寫 感謝

TOP

回復 2# yurckr
請附檔上來說清楚

TOP

arraytest.rar (17.35 KB) 回復 3# GBKEE

感謝您的關注,想表達的意司已經在檔案中 請您指教謝謝

TOP

本帖最後由 GBKEE 於 2011-7-18 07:37 編輯

回復 4# yurckr
  1. Sub 按鈕1_Click()
  2.     Dim Ar(), Rng As Range, i, ii
  3.     With 工作表1
  4.         If .Range("a2").End(xlDown).Row = Rows.Count Then Exit Sub '無資料
  5.         Ar = .Range("a3", .Range("a3").End(xlDown))
  6.         Set Rng = .Range("C3:C8")        '輸入區
  7.         For i = 1 To UBound(Ar) Step 6   '陣列索引 間隔6
  8.             Rng = ""                    '清除輸入區
  9.             For ii = i To i + 5          '
  10.                 If ii <= UBound(Ar) Then Rng(ii - i + 1) = Ar(ii, 1)
  11.                 'Rng(ii - i + 1) -> 依序為 輸入區的 1,2,3,4,5,6 的Cells
  12.             Next
  13.             '  .PrintOut  '印列
  14.         Next
  15.         MsgBox "印列完畢"
  16.     End With
  17. End Sub
  18. Sub Ex()
  19.     Dim Rng As Range
  20.     With 工作表1
  21.          If .Range("a2").End(xlDown).Row = Rows.Count Then Exit Sub '無資料
  22.         Set Rng = .Range("A3")   'A列的數據的第1個位置
  23.         Do
  24.             .Range("C3:C8") = "" '清除輸入區
  25.             .Range("C3:C8") = Rng.Resize(6).Value  '輸入區的值=Rng擴充6列後的值
  26.           '  .PrintOut  '印列
  27.             Set Rng = Rng.Offset(6)   '設定A列的數據往下位移6列
  28.         Loop Until Application.CountA(Rng.Resize(6)) = 0
  29.         'loop 迴圈 離開條件  Until(直到) -> A列  6列沒有數據
  30.         MsgBox "印列完畢"
  31.     End With
  32. End Sub
複製代碼

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題