Excel 将数据从列拉入列表框
我有两张表(表1,表2),其中包含不同的数据。在VBA中,我有两个列表框,一个用于显示A列(Sheet1),另一个用于显示A列(Sheet2)。当我执行编码时,listbox1和listbox2继续显示ActiveSheet列A的数据,而不是单独显示Sheet1的数据或Sheet2的数据Excel 将数据从列拉入列表框,excel,vba,Excel,Vba,我有两张表(表1,表2),其中包含不同的数据。在VBA中,我有两个列表框,一个用于显示A列(Sheet1),另一个用于显示A列(Sheet2)。当我执行编码时,listbox1和listbox2继续显示ActiveSheet列A的数据,而不是单独显示Sheet1的数据或Sheet2的数据 With ListBox1 .ColumnCount = 3 .ColumnWidths = "50" .RowSource = Sheets("Sheet1").Range("A:A"
With ListBox1
.ColumnCount = 3
.ColumnWidths = "50"
.RowSource = Sheets("Sheet1").Range("A:A").Address
End With
With ListBox2
.ColumnCount = 3
.ColumnWidths = "50"
.RowSource = Sheets("Sheet2").Range("A:A").Address
End With
当你说Sheets(“Sheet1”).Range(“A:A”).Address
和Sheets(“Sheet2”).Range(“A:A”).Address
时,它总是会给你$A:$A
,并会引用活动表
试试这个
.RowSource = Sheets("Sheet1").Name & "!" & _
Sheets("Sheet1").Range("A:A").Address
或
类似地,对于列表框2
.RowSource = Sheets("Sheet2").Name & "!" & _
Sheets("Sheet2").Range("A:A").Address
.RowSource = Sheets("Sheet2").Name & "!" & _
Sheets("Sheet2").Range("A1:A" & LRow2).Address
或
顺便说一句我建议使用查找列的最后一行,然后创建
.RowSource
.RowSource = Sheets("Sheet1").Name & "!" & _
Sheets("Sheet1").Range("A1:A" & LRow1).Address
或
类似地,对于列表框2
.RowSource = Sheets("Sheet2").Name & "!" & _
Sheets("Sheet2").Range("A:A").Address
.RowSource = Sheets("Sheet2").Name & "!" & _
Sheets("Sheet2").Range("A1:A" & LRow2).Address
或
完成了,也谢谢悉达思的建议。这有什么用呢!在(.RowSource=Sheets(“Sheet2”)。Name&“!”&“A:A”&LRow2)情况下?我在网站上找不到它。请指定
代码>我们告诉excel,A:A
列在哪里。如果我们不这样做,那么它将假定您的意思是activesheet
尝试将Sheet1中的一个单元格引用到Sheet2中的另一个单元格。注意公式,您将知道1更多的事情是,如何选择从A2开始到最后一行的行源,而不是A1。尝试时出错。RowSource=Sheets(“Sheet2”)。Name&“!”&“A2:A”&LRow2
.RowSource = Sheets("Sheet2").Name & "!" & _
Sheets("Sheet2").Range("A1:A" & LRow2).Address
.RowSource = Sheets("Sheet2").Name & "!" & "A:A" & LRow2