VLookup VBA自动填充活动列

我是新来的VBA,我试图find一种方法,使这个公式自动填充活动列根据列A中的查找值或返回活动的单元格中的公式,所以我可以自动填充它,因为目前它的返回只有结果

Private Sub CommandButton_d_Click() Dim filename As String Dim fullRangeString As String Dim returnValue As Variant Dim wb As Workbook Dim ws As Worksheet Dim rng As Range Dim article As Range Dim rng1 As Range Dim acell As Range On Error Resume Next Set acell = ActiveCell Set article = ActiveSheet.Cells(ActiveCell.Row, 1) filename = Application.GetOpenFilename( _ FileFilter:="Excel Files (*.xlsx), *.xls", _ Title:="Please select a file") Set wb = Application.Workbooks.Open(filename) Set ws = wb.Worksheets("Sheet1") Set rng = ws.Range("a1", _ Range("a1").End(xlDown).End(xlToRight)) Set rng1 = ws.Range("a2", "av2") acell = Application.WorksheetFunction.VLookup(article, rng, _ Application.WorksheetFunction.Match(Me.ComboBox1, rng1, 0), False) wb.Close False UserForm1.Hide End Sub 

至less你不应该为你的VLOOKUP使用VBA工作表 VLOOKUP
为了完成你所需要的,你需要使用Range Object Formula属性

尝试像这样:

 acell.Formula = "=VLOOKUP(" & article.Value & "," & rng.Address(, , , True) & "," & _ Application.WorksheetFunction.Match(Me.ComboBox1, rng1, 0) & ",FALSE)" 

这不包括自动填充,因为我不知道你想要做什么。 HTH虽然。

你好,我发现了一个解决scheme。

这是最后的代码。

acell.Formula =“= VLOOKUP(”&article.Address(False,False)&“,”_&“'[”&rng.Parent.Parent.Name&“]”&rng.Parent.Name&“'! “&rng.Address&”,“_&Application.WorksheetFunction.Match(Me.ComboBox1,rng1,0)&”,“_&”False)“