0

私は Visual Basic にはかなり慣れていませんが、セルの値を配列のメンバーに代入するのに問題があります。基本的に私がやっていることは、列をループして、各セルを配列の新しい部分に割り当てることです。テストコードは以下に掲載されています。

Sub Test()
    Dim List(5) As String
    Dim celltext As String

    For i = 1 To 5
        celltxt = ActiveSheet.Range("K" & i).Text
        List(i) = celltext
        MsgBox List(i)
    Next i
End Sub

ただし、メッセージ ボックスがポップアップするたびに空白になり、割り当てが機能しなかったことを意味します。それらの座標のセルには値があります。手がかりはありますか?

4

3 に答える 3

2

「celltxt」に割り当てていますが、「celltext」から読み取っています。

すべてのモジュールの先頭に追加Option Explicitします。これにより、これらのタイプのエラーがより明確になります。

于 2013-11-05T18:00:08.580 に答える
1
  1. あなたがDim List(5) As String。配列の最下位の要素は0and not1です。そうしないとDim List(1 to 5) As String、最初の要素が配列内で常に空白になります。

  2. を使用してActiveSheetいます。それは正しいシートですか?

このコードを試してください

Sub Test()
    Dim List(1 To 5) As String
    Dim ws As Worksheet
    Dim i as Long

    Set ws = ThisWorkbook.Sheets("Sheet1")

    For i = 1 To 5
        List(i) = ws.Range("K" & i).Value
        MsgBox List(i)
    Next i
End Sub
于 2013-11-05T18:00:47.460 に答える