基于一个文本框,其他文本框将自动填充来自多个工作表的数据

时间:2016-10-20 21:42:15

标签: excel vba userform

我有一个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

我尝试了许多不同的方法但却无法工作。

提前感谢您的帮助和时间。

0 个答案:

没有答案