0

VBA を使用して大きな配列の 4 行ごとに大きな配列から小さな配列を作成したい
大きな配列を dist_in = Range("A3.B903") として定義しました この配列をループして 2 番目の配列を作成するにはどうすればよいですか配列?

ありがとう、ドン


4

2 に答える 2

0

Quick&dirty - セルを使用して元の領域と新しい領域を参照します - 列 4&5 は D & E になります - 数字を変更して適合させます。

Sub ShrinkIt()

Dim i as long

for i=1 to 225
    cells(i,4)=cells(i*4-1,1)
    cells(i,5)=cells(i*4-1,2)
next i

End Sub
于 2012-06-21T19:55:01.110 に答える
0
Sub MakeBigArraySmall()

    Dim vaLarge As Variant
    Dim aSmall() As Variant
    Dim i As Long, j As Long
    Dim lCnt As Long

    'Read in array
    vaLarge = Sheet1.Range("A3:B903").Value

    'set up small array
    ReDim aSmall(1 To (UBound(vaLarge, 1) \ 4) + 1, 1 To UBound(vaLarge, 2))

    'loop through large and write every 4th value to small
    For i = LBound(vaLarge, 1) To UBound(vaLarge, 1) Step 4
        lCnt = lCnt + 1
        For j = LBound(vaLarge, 2) To UBound(vaLarge, 2)
            aSmall(lCnt, j) = vaLarge(i, j)
        Next j
    Next i

    'write small array back out to sheet
    Sheet1.Range("D3").Resize(UBound(aSmall, 1), UBound(aSmall, 2)).Value = aSmall

End Sub
于 2012-06-22T15:48:03.603 に答える