Private Sub UserForm_Activate()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Data")
Dim lastRow As Long
idRow = sh.Range("A" & Rows.Count).End(xlUp).Row
questionRow = sh.Range("G" & Rows.Count).End(xlUp).Row
ThisWorkbook.Names.Add Name:="ID", RefersToLocal:=sh.Range("A2:B" & idRow)
ThisWorkbook.Names.Add Name:="Question", RefersToLocal:=sh.Range("G2:L" & questionRow)
With Me.listBox2
.ColumnHeads = True
.ColumnCount = 8
.ColumnWidths = "30,85,85,85,85,85,85,85"
.RowSource = "ID"
.RowSource = "Question"
End With
End Sub
此代碼僅使用問題資料填充串列框。激活表單時如何用“ID”和“問題”填充串列框?請幫忙!
uj5u.com熱心網友回復:
第二個.RowSource =將覆寫第一個。因此,要么您使用 VBA 手動填充串列框(不使用.RowSource,您會找到有關該的教程),要么獲取ID和之間的所有列Question,但如果它們不連續,則不能同時擁有兩列。
試試.RowSource = "ID:Question"這將把所有列從ID到Question。請注意,您可以通過將列更改.ColumnWidths為來隱藏列0。例如.ColumnWidths = "30,0,40,50"將顯示 3 行,因為第二行寬度是0隱藏的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/323729.html
