VBA Excel アプリケーションにリストボックスがあり、3 つの異なる列を読み取り、その内容を 1 行に一覧表示します。ただし、列内の各項目の幅は異なります。したがって、「vbtab」を使用してリストボックスに表示すると、次のアイテムが正しく配置されません。たとえば、最初のアイテムが 4 文字の場合、2 番目のアイテムは近くに引き寄せられますが、最初のアイテムが 8 文字の場合、2 番目のアイテムは少し遠すぎます。これを修正する方法はありますか?
以下は私が使用しているコードです。
Private Sub UserForm_Activate()
With ThisWorkbook.Sheets("Sheet1").Range("a1:a50")
MySearch = Array("Tba")
For i = LBound(MySearch) To UBound(MySearch)
Set rng = .Find(what:=MySearch(i), _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
firstaddress = rng.Address
Do
j = 1
drovedate = rng.Offset(0, j)
j= j + 1
drivenby = rng.Offset(0, j)
j = j + 6
reason = rng.Offset(0, j)
x = x + 1
Dim LineOfText As String
CPHlsttheeba.AddItem (x & " " & drovedate & vbTab() & vbTab & drivenby & vbTab & vbTab & reason)
Set rng = .FindNext(rng)
Loop While Not rng Is Nothing And rng.Address <> firstaddress
Next i
End With
End Sub