我有一个userform,它根据第一个文本框(“Number”)中的条目从多个工作表中提取数据。到目前为止,我已经能够从一个工作表而不是另一个工作表中输入数据。 我的Userform(“LineView”)具有以下文本框: 数字 - 这是我输入工作号码(例如“J1234”)并基于它填充其他工作号。 这些来自工作表(“工作”) JobName - 这是从第2列中提取的 客户名称 - 这是从第3列中提取的 地址 - 第7列 DeliveryInstructions - 第8列 联系 - 第5列 ContactPhone - 第6列 其余来自工作表(“门”) 我为从工作表(“门”)获取数据的文本框编写的代码一直在工作。我只是从工作表(“工作”)中提取信息时遇到问题。 这是我到目前为止编写的代码。
Private Sub Number_Change()
Dim j As Worksheet
Dim d As Worksheet
Set j = Sheets("Jobs")
Set d = Sheets("Doors")
Dim LR As Long
Dim r As Long
Dim i As Long
DoorList.Clear
With Worksheets("Doors")
LR = .Range("A" & .Rows.Count).End(xlUp).row
For r = 2 To LR
If .Cells(r, 5).Value = Number.Value Then
DoorList.AddItem .Cells(r, 1).Value
DoorList.List(i, 0) = .Cells(r, 1).Value
DoorList.List(i, 1) = .Cells(r, 2).Value
DoorList.List(i, 2) = .Cells(r, 4).Value
DoorList.List(i, 3) = .Cells(r, 6).Value
DoorList.List(i, 4) = .Cells(r, 7).Value
DoorList.List(i, 5) = .Cells(r, 15).Value
i = i + 1
End If
Next r
End With
With DoorList
.ColumnCount = 6
'Fill Time Cells
Jbox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("H:H"))
DMBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("I:I"))
SBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("J:J"))
PHBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("K:K"))
CDBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("L:L"))
CJBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("M:M"))
COBox.Value = Application.SumIf(d.Range("E:E"), Number.Value, d.Range("N:N"))
End Sub
我尝试了许多不同的方法但却无法工作。
提前感谢您的帮助和时间。