Excel UserForm ListBox
Excel UserForm ListBoxの表示についての質問です
Sheets("加工").Range("A44")からRange("G" & LastRow)のセルの値を
Form_receipt.ListBox1に表示させたいのですが
C~E列は数値なので桁数区切りで表示したくてマクロを作ったのですが
A列1列しか表示されないマクロになってしまいました。
どこが悪いのかご教示願えませんか?
あわせてC~E列を右揃えでリスト表示する方法も教えてください
失敗作のマクロは以下です
Sub Macro48()
Form_receipt.ListBox1.Clear
Sheets("加工").Select
'配列の定義
Dim myRng As Range
Dim myList As Variant
Dim c As Variant
Dim i As Integer
Dim j As Integer
Dim LastRow As Integer
For j = 45 To 94
If Sheets("加工").Range("A" & j).Value = "" Then
Exit For
End If
Next j
If Sheets("加工").Range("A47").Value = "" Then
LastRow = j - 1
Else
LastRow = 46
End If
Set myRng = Range("A44", Range("A" & LastRow))
ReDim myList(myRng.Rows.Count - 1, 7)
For Each c In myRng
myList(i, 0) = c.Offset(, 0).Value
myList(i, 1) = c.Offset(, 1).Value
myList(i, 2) = Format$(c.Offset(, 2).Value, "@@@,@@@,@@@")
myList(i, 3) = Format$(c.Offset(, 3).Value, "@@@,@@@,@@@")
myList(i, 4) = Format$(c.Offset(, 4).Value, "@@@,@@@,@@@")
myList(i, 5) = c.Offset(, 5).Value
myList(i, 6) = c.Offset(, 6).Value
myList(i, 7) = c.Offset(, 7).Value
i = i + 1
Next c
Form_receipt.ListBox1.List() = myList
Set myRng = Nothing
'リスト表示幅設定
With Form_receipt.ListBox1
.ColumnWidths = "30,0,60,60,60,150,50"
End With
Form_receipt.Show
End sub
お礼
ありがとうございます。 検索でソートを使ったサンプルをいくつかやってみましたけど、うまくいきませんでした。 シンプルで参考になります。