0

Excel の範囲から配列にデータをコピーする必要があります。次のコードを使用していますが、「expected array」というエラーが表示されます。

  Dim filename As String
  Dim arraysize As Integer

  arraysize = 50
  I = 1
  Do Until ThisWorkbook.Sheets("sheet1").Cells(I, 1).Value = ""   
     filename(arraysize) = ThisWorkbook.Sheets("sheet1").Cells(I, 1).Value    
     I = I + 1
  Loop
4

2 に答える 2

1

これを試して

Sub Demo()
    Dim filename As Variant
    Dim arraysize As Long
    Dim rng As Range
    Dim i As Long

    i = 1
    With ThisWorkbook.Sheets("sheet1")
        Set rng = .Range(.Cells(i, 1), .Cells(i, 1).End(xlDown))
    End With

    ' load as two dimensional array
    filename = rng.Value

    ' transform into 1 dimensional array
    filename = Application.Transpose(filename)

    arraysize = UBound(filename)
End Sub
于 2013-02-14T04:50:30.960 に答える
-1

配列を宣言していません。頭のてっぺんからコードを考えることはできませんが、これは正しい方向を示しているはずです。

Dim Filename(50)

Do
    Filename(I)= excel.row
Loop
于 2013-02-14T04:29:58.883 に答える