繁体   English   中英

VBA Excel 从其他工作簿插入匹配 function

[英]VBA Excel insert-match function from other workbook

我正在尝试在 for 循环中实现索引匹配 function。 我想将值从其他工作簿复制到活动单元格工作簿。

这是我写的代码:

Sub Amazon_Index()
Dim WB As Workbook
Dim Partner As Worksheet
Dim AcWS As Worksheet

Dim LastRow As Long
    With ActiveSheet
        LastRow = .Range("A1").SpecialCells(xlCellTypeLastCell).Row
    End With


Set WB = Workbooks.Open(Filename:="C:\Users\Adis\Desktop\Amazon narudžbe\Partner lista\partner.xlsx")
Set Partner = WB.Sheets("lista")



For i = 2 To LastRow
  ActiveSheet.Cells(i, 19) = _
  Application.WorksheetFunction.Index(Sheets("Partner").Range("A1:E100"), _
       Application.WorksheetFunction.Match(ActiveSheet.Cells(i, 18), _
       Sheets("Partner").Range("B1:B100"), 0), 5)
Next

End Sub

请尝试更换:

For i = 2 To LastRow
  ActiveSheet.Cells(i, 19) = _
  Application.WorksheetFunction.Index(Sheets("Partner").Range("A1:E100"), _
       Application.WorksheetFunction.Match(ActiveSheet.Cells(i, 18), _
       Sheets("Partner").Range("B1:B100"), 0), 5)
Next

和:

dim mtch
For i = 2 To LastRow
  mtch = Application.WorksheetFunction.Match(ActiveSheet.Cells(i, 18).value , _
         Sheets("Partner").Range("B1:B100"), 0)
  If not IsError(mtch) then
     ActiveSheet.Cells(i, 19) = _
     Application.WorksheetFunction.Index(Sheets("Partner").Range("A1:E100"), mtch, 5)
   End If                        
Next

如果Application.WorksheetFunction.Match(...找不到匹配项,则会引发错误...

不同的方法,但它的工作原理。

Sub Insert_Index() ' ' Insert_Index Macro ' Dim LastRow As Long With ActiveSheet LastRow =.Range("A1").SpecialCells(xlCellTypeLastCell).Row End With

Range("S2").Select
ActiveCell.FormulaR1C1 = _
    "=INDEX([partner.xlsx]lista!R1C1:R70C5,MATCH(RC[-1],[partner.xlsx]lista!R1C2:R70C2,0),1)"
  Range("T2").Select
ActiveCell.FormulaR1C1 = _
    "=INDEX([partner.xlsx]lista!R1C1:R70C5,MATCH(RC[-2],[partner.xlsx]lista!R1C2:R70C2,0),5)"
    Range("S2:T2").Select
Selection.AutoFill Destination:=Range("S2:T" & LastRow), Type:=xlFillDefault
    

结束子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM