我正在使用VBA,但有一个我找不到解决方案的问题。我创建了一个带有文本框,列表框和两个按钮的UserForm。如果在文本框中输入文本并单击Button1
,则文本框的文本将通过命令ListBox.AddItem
添加到列表框中。这部分工作正常。
如果单击Button2
,它将把ListBox的条目复制到Excel工作表中。我在这部分上有问题。代码如下:
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = True
ActiveSheet.Cells(2, 3) = ListBox1.Value
ListBox1.Selected(i) = False
Next i
如果我打开UserForm并在ListBox中的任意位置单击一次,此代码将非常正常。从那时起,代码就可以正常工作了。我也可以关闭UserForm并再次打开它。仍然可以。
如果我打开整个Excel文件和用户窗体,并且没有在列表框的任何位置单击一次,就会出现问题,它只是不复制内容。该代码本身仍然可以运行并执行。似乎命令ListBox1.Value
没有内容。有没有更好的方法来解决我的问题?
答案 0 :(得分:0)
如果要将项目列表中已填充的列表框中的项目放置在工作表上,可以尝试执行以下操作...
Dim x
x = Me.ListBox1.List
Range("C2").Resize(UBound(x) + 1, 1).Value = x
根据您的要求进行调整。