2013-05-29 166 views
-2

我有2個不同的工作簿與一組參數,例如,汽車零件編號,銷售價格等。這兩種不同的工作簿將始終具有相同的汽車零件編號,但它們並不合適。所以我正在考慮使用vlookup來將一個工作簿上的參數與各個部分的數字相關的參數進行匹配。excel宏for vlookup

因此,我使用vlookup來執行此任務。它可以工作,但我想用宏來實現,所以我不需要每次都手動執行vlookup。考慮到工作簿(文件名)每次都會有所不同,是否可以創建這樣的宏?

我實際上嘗試錄製宏,vlookup記錄它需要的與文件名有關的參數。

編輯:代碼註釋:

Sub Macro1() 
    ActiveCell.FormulaR1C1 = "=VLOOKUP('[TI_DBP_effective_06 May 2013.xls]NON SLL'!C1,'[TI_DBP_effective_06 May 2013.xls]NON SLL'!C1:C3,3,FALSE)" 
    Range("I1").Select Selection.AutoFill Destination:=Range("I1:I9779") 
    Range("I1:I9779").Select 
End Sub 
+0

是的,絕對有可能。請發佈您已有的代碼(修改您的問題以包含您的宏)。應該很容易改變它,以便文件名是可變的,並且可以從標準的Windows文件選擇器對話框中選擇。 –

+0

子宏1() ' ' ActiveCell.FormulaR1C1 = _ 「= VLOOKUP( '[TI_DBP_effective_06五月2013.xls] NON SLL' C1 '[TI_DBP_effective_06五月2013.xls] NON SLL' C1:!C3 ,3,FALSE)」 範圍( 「I1」。)選擇 Selection.AutoFill目的地:=範圍( 「I1:I9779」) 範圍( 「I1:I9779」)選擇 結束子 –

+0

那宏我有...我用其中一個參數作爲TI_DBP_effective搜索的vlookup只是其中一個文件,我將在其上執行此類操作。我應該如何編輯宏? –

回答

0

嘗試這樣的事情。您必須將此宏放在您的個人宏工作簿中,以便它始終可用,無論哪些工作簿已打開。它會提示你輸入兩個文件,然後打開它們,並插入公式。讓我知道它是否會給您帶來麻煩,因爲我現在無法測試它。

注意:這將查找您選擇的單元格的左列的值列,然後查看另一個文件的列1:3。根據需要修改。

Sub Macro1() 
    Dim file1 As String 
    Dim file2 As String 
    Dim wbSource As Workbook 
    Dim wbLookup As Workbook 
    Dim startRange As Range 

    file1 = Application.GetOpenFilename(Title:="Select the file to update") 
    If Len(Dir(file1)) = 0 Then Exit Sub 
    file2 = Application.GetOpenFilename(Title:="Select the LOOKUP file") 
    If Len(Dir(file2)) = 0 Then Exit Sub 

    Set wbLookup = Workbooks.Open(file2) 
    Set wbSource = Workbooks.Open(file1) 

    On Error Resume Next 
    Set startRange = Application.InputBox("Select the first cell for the formula", "Autofill VLOOKUP", Type:=8) 
    On Error GoTo 0 
    If Not startRange Is Nothing Then 
     Application.Goto startRange 
     startRange.FormulaR1C1 = "=VLOOKUP('[" & wbSource.Name & "]NON SLL'!RC[-1],'[" & wbLookup.Name & "]NON SLL'!C1:C3,3,FALSE)" 
     startRange.AutoFill Destination:=startRange.End(xlDown) 
    End If 

End Sub 
+0

什麼是錯誤信息? –

+0

也許你的R1C1表示法都是錯誤的。請參閱上面的修訂版,但這仍然會導致下一行的「自動填充」錯誤。您現在必須先解決這個問題,並記住這是一個協作網站,而不是將您的工作外包給其他人的地方。 –

+0

我試圖將自動填充行(最後一行)更改爲固定行,即在第i行。但是,錯誤是前面的語句,當我將第一個查找參數更改爲源文件時,它不會工作,但如果更改到查找文件,它會。我很抱歉,但我真的嘗試了我可以研究的一整天,但我不知道什麼是錯的。感謝您的幫助,我真的被卡住了。 –