将值从ListBox复制到工作表单元格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将值从ListBox复制到工作表单元格相关的知识,希望对你有一定的参考价值。

我正在使用VBA并遇到问题我无法找到解决方案。我创建了一个带有TextBox,ListBox和两个按钮的UserForm。如果您在TextBox中输入文本并单击Button1,则TextBox的文本将通过命令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文件和UserForm并且不在ListBox中的某个位置单击一次,则会出现问题,它只是不复制内容。代码本身仍然可以工作并执行。它似乎只是命令ListBox1.Value没有内容。有没有更好的方法来解决我的问题?

答案

如果您想将已填充的ListBox中的项目放到工作表上,您可以尝试这样的...

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

根据您的要求调整它。

以上是关于将值从ListBox复制到工作表单元格的主要内容,如果未能解决你的问题,请参考以下文章

将值从多个工作簿复制到主文件中的特定单元格

Excel VBA 将值从一张表移动到另一张表

按 id 复制/移动单元格

如何将值从 tableview 传递到 collectionview

将值从 Excel 工作表导出到 Access 记录

在 C# 中将 Excel 列(或单元格)格式化为文本?