【发布时间】:2017-03-20 05:16:00
【问题描述】:
我正在尝试从另一个 wb 导入单元格。因此,如果 wb1 col H 中的单元格与 wb2 col K 中的单元格匹配,则 wb1 col k 和 L = wb2 col C 和 E 在匹配行中。现在可能有几个匹配项,所以我希望它偏移到下一列。 m 和 n 表示下一组,o 和 p 表示下一组,依此类推。
这是我目前所拥有的:
Private Sub CommandButton1_Click()
Dim rcell As Range, sValue As String
Dim lcol As Long, cRow As Long
Dim dRange As Range, sCell As Range
Dim LastRow As Integer
Dim CurrentRow As Integer
Set ws1 = ThisWorkbook
Set ws2 = Workbooks("Workbook2").Worksheets("Sheet1")
Sheet1LastRow = ThisWorkbook.Sheets("Data").Range("H2:H50000").Value 'Search criteria column
Sheet2LastRow = Workbooks("Workbook2").Worksheets("Sheet1").Range("Q" & Rows.Count).End(xlUp).Row 'Where to look for matches
With Workbooks("Workbook2").Worksheets("Sheet1")
For j = 1 To Sheet1LastRow
For i = 1 To Sheet2LastRow
If ThisWorkbook.Sheets("Data").Range("H").Value = ws2.Cells(i, 11).Value Then
ws2.Cells(i, 11).Value = ThisWorkbook.Sheets("Data").Range("C").Value
ws2.Cells(i, 12).Value = ThisWorkbook.Sheets("Data").Range("E").Value
End If
If InStr(1, ws2.Cells.Value, ws1.Cells.Value) And Trim(ws1.Cells.Value) <> "" Then
rcell.Offset(0, lcol).Value = ws2.Cells.Offset(0, 2).Value
lcol = lcol + 1
End If
Next i
Next j
End With
End Sub
这不起作用。我基本上放弃了,因为我不知道我错过了什么。
我在寻找类似的东西,但只找到了 Vlookup 或 Match 可以做的事情。
【问题讨论】:
-
我真的无法理解你的措辞,也许你可以添加一些例子
-
是的,我能理解为什么......所以我们可以说 wb.("One").Worksheets("Puppies").range("H") 有小狗的名字。 wb.("Two").Worksheets("Growth Chart").range("J") 有小狗的名字。因此,如果有匹配项,则从(“增长图表”)中获取他们的体重(col C)和身高(col E),并将其插入 wb1 col K 的体重和 col L 的身高。对于多只同名的小狗,我试图将其他匹配项放在接下来的两列但在同一行中。不知道还能如何解释。