返回列表 上一主題 發帖

[發問] Dim arr1(1 To 100, 1 To 2),arr = [a2:d100],其中100,如何用變數取代

[發問] Dim arr1(1 To 100, 1 To 2),arr = [a2:d100],其中100,如何用變數取代

請教各位前輩,Dim arr1(1 To 100, 1 To 2),arr = [a2:d100],其中100,要如何用變數取代,謝謝

條件顯示.rar (15.93 KB)

杜小平

感謝兩位前輩,我的意思是Dim arr1(1 To 100, 1 To 2)中的100如何用變數活用,因為
MAS = Cells(Rows.Count, 1).End(xlUp).Row
Dim arr1(1 To MAS, 1 To 2)
會錯誤,[必需是常數運算式]
杜小平

TOP

剛學VBA有很多要學習,感謝各位指導,經調整後以下是我要的語法,謝謝大家.
Dim i&, j&, k%
Dim arr As Variant
Dim MAS As Variant
MAS = Cells(Rows.Count, 1).End(xlUp).Row
'Dim arr1(1 To 100, 1 To 2)   '原稿
ReDim arr1(1 To MAS, 1 To 2)  '調整後的語法
'arr = [a2:d100]    '原稿
'arr = ["a2:d" & MAS ]
arr = Range(Cells(2, 1), Cells(MAS, 4).Address)   '調整後的語法
For i = 1 To UBound(arr)
    If arr(i, 1) <> "" Then
        If arr(i, 1) = Cells(3, "e") And arr(i, 2) = Cells(3, "f") Then
            k = k + 1
            arr1(k, 1) = arr(i, 3)
            arr1(k, 2) = arr(i, 4)
        End If
    End If
Next i
Cells(3, "h").Resize(UBound(arr1), 2) = arr1
杜小平

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題