从工作簿B查看工作簿A

我想在工作簿A中进行一个查看,从工作簿B中提取相同的信息。这两个工作簿已经打开。

该程序应该在第三个工作簿C.

这两个工作簿的名称是不一样的,所以我给它一个可变的格式(因此,程序应该适用于我们设置的任何工作簿),从工作簿A或B的最后一个logging的范围可以有所不同。

我有一个例子,我logging,但它不工作,我想要的方式。

在我的例子中,我从工作簿A拉到工作簿B.我还修剪了工作簿B中的查找值,因为空格,我希望它匹配工作簿A中的查找值(大多数没有空间,不确定所有) 。 在工作簿A中是否有修剪查找值的方法?

Windows("test A.xlsx").Activate Windows("test B.xlsx").Activate ActiveCell.FormulaR1C1 = "=VLOOKUP(trim(RC[-1]),'[test A.xlsx]Sheet1'!C1:C2,2,FALSE)" Range("B1").Select Selection.AutoFill Destination:=Range("B1:B30000") Range("B1:B30000").Select Range("B1").Select Windows("mac.xlsm").Activate 

这是代码。 检查它是否适合你。 自动填充将无法正常工作,所以最好是识别拉斯特罗,并使用和结束选项。

 Sub vlookupexample() Dim FileA As Workbook Dim FileB As Workbook Dim fileALastrow As Long Dim FileBLastrow As Long Set FileA = Workbooks.Open("C:\Users\raja\Desktop\fileA.xlsx") Set FileB = Workbooks.Open("C:\Users\raja\Desktop\fileB.xlsx") FileA.Activate fileALastrow = FileA.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row FileB.Activate FileBLastrow = FileB.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row FileA.Activate FileA.Sheets("Sheet1").Range("B2").Select With FileA.Sheets("Sheet1").Range("B2:B" & fileALastrow) .Formula = "=VLOOKUP(RC[-1],[fileB.xlsx]Sheet1!C1:C2,2,0)" .Value = .Value End With Msgbox "Process Completed" End Sub