我想为 vlookup 创建宏,但在我的情况下,列引用会自动从 1 个条件更改为下一个条件。问题如下:
在一张 Excel 表中,我列出了所有公司和可用产品。
http://wikisend.com/download/910578/product.jpg
现在我为每家公司准备了一张表格。我想查找每家公司并将可用的产品放在特定的公司表中。新工作表将如下所示。
http://wikisend.com/download/482612/single comp.png
我不能只复制和插入列,因为在每个公司列中已经有产品名称。另外,我希望宏为所有公司执行此操作(每家公司都有一张单独的表格作为 X1)。
感谢您的帮助。
更新代码:
Sub UpProd()
Dim ws As Worksheet
Dim DataRange As Range, UpdateRange As Range, aCell As Range, bCell As Range
Dim s As String
Dim z As Variant
s = "X1,X2,X3"
z = VBA.Split(s, ",")
On Error GoTo Err
For Each i In z
Set ws = Worksheets("Sheet5")
Set UpdateRange = Worksheets(i).Range("A2:A21")
Set DataRange = ws.Range("A2:A12")
For Each aCell In UpdateRange
Set bCell = DataRange.Find(What:=aCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
aCell.Offset(, 1) = bCell.Offset(, 1)
End If
Next
Next i
Exit Sub
Err:
MsgBox Err.Description
End Sub