我尝试使用lstDisplay1.RowSource = wb.Worksheet("Database").Range("A1:B5000")
,但是它不起作用。
Private Sub brandadd_Click()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim AddNew As Range
Set AddNew = Worksheets("Database").Range("A5000").End(xlUp).Offset(1, 0)
AddNew.Offset(0, 0).Value = brandcode.Text
AddNew.Offset(0, 1).Value = brandname.Text
MsgBox ("Data added sucessfully!")
lstDisplay1.ColumnCount = 2
lstDisplay1.RowSource = ("A1:B5000")
End Sub
答案 0 :(得分:1)
更改:
lstDisplay1.RowSource = wb.Worksheet("Database").Range("A1:B5000")
使用:
lstDisplay1.RowSource = "Database!A1:B5000"
答案来自:Link
修改后的代码:
Private Sub brandadd_Click()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim AddNew As Range
Set AddNew = Worksheets("Database").Range("A5000").End(xlUp).Offset(1, 0)
AddNew.Offset(0, 0).Value = brandcode.Text
AddNew.Offset(0, 1).Value = brandname.Text
MsgBox ("Data added sucessfully!")
lstDisplay1.ColumnCount = 2
lstDisplay1.RowSource = "Database!A1:B" & Worksheets("Database").Range("A5000").End(xlUp).Row
End Sub