excel 将值从列表框复制到工作表单元格

7bsow1i6  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(176)

我正在使用VBA,但遇到了一个无法解决的问题。我创建了一个包含文本框、列表框和两个按钮的用户窗体。如果您在文本框中输入文本并单击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

如果我打开用户窗体并在列表框中的任意位置单击一次,这段代码就可以完美地工作。从那时起,代码就可以毫无问题地工作。我也可以关闭用户窗体并再次打开它。它仍然可以工作。
如果我打开整个Excel文件和UserForm**,但没有单击ListBox**中的某个位置,就会出现问题,它只是不复制内容。代码本身仍然工作并执行。只是看起来命令ListBox1.Value没有内容。有更好的方法来解决我的问题吗?

qv7cva1a

qv7cva1a1#

如果您想将已填充的ListBox中的项放置到工作表中,可以尝试类似以下的操作...

Dim x
x = Me.ListBox1.List
Range("C2").Resize(UBound(x) + 1, 1).Value = x

按你的要求调整一下。

相关问题