【发布时间】:2020-02-05 18:00:46
【问题描述】:
我正在使用两本工作簿来搜索缺失的信息,这些信息在一本书中但在另一本书中没有。我的代码有效,但在某些情况下,我返回了多个值,并且只有一个值输入到单元格中,我需要在每个值之间使用“,”将其他值连接到同一个单元格中
Dim w1 As Worksheet, w2 As Worksheet
Dim wbnew As Workbook
Dim c As Range, FR As Variant
Dim d As Range
Dim e As Range
Application.ScreenUpdating = False
Set w2 = Workbooks("Book2.xlsx").ActiveSheet
Set w1 = Workbooks("Book1.xlsx").ActiveSheet
For Each c In w1.Range("C2", w1.Range("C" & Rows.Count).End(xlUp))
FR = Application.Match(c, w2.Columns("C"), 0)
If IsNumeric(FR) Then
c.Offset(, 1).Value = w2.Range("D" & FR).Value
End If
Next c
【问题讨论】:
-
如果您的意思是有多个匹配项,
Application.Match只返回一个匹配项...您将需要一种不同的方法。 -
谢谢 BigBen,有什么建议吗?我没有意识到应用程序匹配只给出了一个匹配。向你学习很多!
-
如果您正在处理文本,则可以使用
Filter函数。 -
不幸的是,过滤功能没有帮助,我有 40 个工作簿需要检查。 VBA 代码会更快。
-
Filter是 VBA...你可以点击链接:-)
标签: excel vba concatenation