VBA列表框与偏移列
问题描述:
我使用下面的代码来填充列表框。 ListBox的第1列来自我的工作表的第F列,ListBox的第二列来自下一列。但我想让第二个ListBox列来自工作表的D列(左边2)。而我无法按照自己想要的方式进行胶印工作。VBA列表框与偏移列
Private Sub UserForm_Initialize()
Dim dic As Object
Dim rng As Range
Dim ky As Variant
Set dic = CreateObject("Scripting.Dictionary")
Set rng = Sheet4.Range("F2")
Do
If Not dic.exists(rng.Value) Then
dic.Add rng.Value, rng.Offset(, 1).Value
Else
dic(rng.Value) = dic(rng.Value) + rng.Offset(, 1).Value
End If
Set rng = rng.Offset(1)
Loop Until rng.Value = ""
For Each ky In dic.keys
With BWListBox3
.AddItem
.List(.ListCount - 1, 0) = ky
.List(.ListCount - 1, 1) = Application.Text(dic(ky), "[h]:mm")
End With
Next ky
End Sub
答
2在左边?
If Not dic.exists(rng.Value) Then
dic.Add rng.Value, rng.Offset(, -2).Value
Else
dic(rng.Value) = dic(rng.Value) + rng.Offset(, -2).Value
End If
这给了我“运行时错误13:类型不匹配” – phelbin
我只是自己试了一下,它对我来说工作正常......? – braX
好的...我设置了一个示例工作簿,您的代码正确无误。那么有什么想法可能会导致我的实际工作簿中的不匹配? – phelbin