我有一個名爲listbox1的列表框,它向我顯示了sheet1中的數據,但問題是它沒有向我顯示所有的數據,有時我有3000行數據,它顯示我anlo前50線,這是我使用的,如果有人可以幫助請代碼:VBA - 列表框和數據
ListBox1.List = Sheets("Sheet1").Range("A1:F3000").Value
我有一個名爲listbox1的列表框,它向我顯示了sheet1中的數據,但問題是它沒有向我顯示所有的數據,有時我有3000行數據,它顯示我anlo前50線,這是我使用的,如果有人可以幫助請代碼:VBA - 列表框和數據
ListBox1.List = Sheets("Sheet1").Range("A1:F3000").Value
,如果你需要從一列DATAS只有這樣,你會去:
ListBox1.List = Application.Transpose(Sheets("Sheet1").Range("A1:A3000")) '<== change "A"s in Range("A1:A3000") to wanted column index
否則,如果要列出從數據更多列你必須這樣去:
Private Sub UserForm_Initialize()
Dim Data As Variant
...
Data = Sheets("Sheet1").Range("A1:F3000")
With UserForm1.ListBox1 '<== change it with actual UserForm and ListBox names
.ColumnCount = 2
.List = Data
End With
但你可以選擇一個或多個(最多ListBox
MultiSelect
屬性設置)整個行,而不是單一的「細胞」。
thanx它的工程很好 – mateos
嘗試將列表框的屬性更改爲您所需的範圍。然後改變ColumnCount
至6
爲了使對ColumnCount
性態的RowSource
動態,輸入端6和刪除RowSource
屬性的範圍內,這個代碼添加到形式。
Private Sub UserForm_Initialize()
ListBox1.RowSource = Sheets("Sheet1").Range("A1:F3000").Address(external:=True)
End Sub
thanx Kyloren它的作品也 – mateos
很高興我有些幫助。 – 2016-04-29 09:54:51
這個工作_「在設計時間_」(當你正在編寫代碼時你也設置屬性)或_「運行前」_(打開VBA IDE並在運行宏之前設置屬性)。如果數據結構永遠保持不變** _,那麼_「在設計時間」_方法可以做(儘管我不推薦它)。相反,如果您希望(或需要)更靈活,並讓您的宏以運行時遇到的任何數據結構運行,那麼您必須根據我的答案採取行動,並根據一些檢查數據結構並設置列表框屬性的標準進行增強。做你的選擇,並相應地標記答案... – user3598756
'ListBox'只會將「A」列數據添加到列表框中。如果在特定單元格中找不到其他數據,則ListBox條目也將爲空。第50行之後是否有數據? –
是行50後有數據但它不顯示它在列表框 – mateos