2016-05-24 21 views
0

動的配列の2つ目の '列'を読みやすい形式のメッセージボックスに書き込もうとしています。これは可能ですか?2次元配列をメッセージボックスに出力する - Excel VBA

ユーザが「OK」をクリックして続行したい場合、ユーザがキャンセルをクリックした場合は、そのサブを停止したいと思います。

次のように配列をロードするコードは次のとおりです。

ReDim table(tableSize, 1 To 3) ' set array length 

i = 1 
c = 1 
Do While Worksheets("Items").Cells(i, 1).Value <> "" 

    If Worksheets("Items").Cells(i, 2).Value = item Then 'load array 
     table(c, 1) = i 
     table(c, 2) = Worksheets("Items").Cells(i, 4) 
     table(c, 3) = Worksheets("Items").Cells(i, 10) 
     c = c + 1 
    End If 

    i = i + 1 
Loop 

私はforeachループを使用しようとしていたが、それが最良の方法であるかどうか私にはわからない、と私はそれを動作しませんでしたでる。少し複雑にするために、プリントアウトされた配列の前後に文字列を入れたいと思っています。

+0

何のメッセージボックスはありませんが? – findwindow

+0

@findwindowメッセージボックスには何も配置されていないので、メッセージボックスには何も配置されていません。 – GiANTOnFire

+0

さて、あなたが試したことを示す必要があります。あなたはただあなたにコードを書くことを期待することはできません。 – findwindow

答えて

1

ここで、「表スタイル」のメッセージを取得するための一つの方法です:

Sub MessyMessage() 
    msg = "" 

    For Each r In Range("A:A") 
     If r.Value = "" Then Exit For 
     msg = msg & vbCrLf & r.Value & vbTab & r.Offset(0, 1).Value 
    Next r 

    MsgBox msg 
End Sub 

enter image description here