/ / VLookup VBA autopreencher coluna ativa - excel, vba, excel-vba

VLookup VBA autopreencher coluna ativa - excel, vba, excel-vba

Eu sou novo no VBA e estou tentando descobrir uma maneira defaça com que essa fórmula preencha automaticamente a coluna de ativação com base no valor de pesquisa que está na coluna A ou para retornar a fórmula na célula ativa, para que eu possa preenchê-la automaticamente, porque no momento em que ela retorna apenas o resultado

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

Respostas:

0 para resposta № 1

Você não deveria usar Função de planilha VBA Para o seu VLOOKUP finalmente.
Para realizar o que você precisa, você precisa usar Propriedade de fórmula do objeto de intervalo.

Tente algo como:

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

Isso não cobre o Preenchimento automático como eu não tenho certeza o que você quer fazer. HTH embora.


0 para resposta № 2

Olá, encontrei uma solução.

Aqui está o código final.

acell.Formula = "= VLOOKUP (" & artigo.Endereço (Falso, Falso) & "," _ & "" ["& rng.Parent.Parent.Name &"] "& rng.Parent.Name &" "!" & rng.Address & "," _ & Application.WorksheetFunction.Match (Me.ComboBox1, rng1, 0) & "," _ & "Falso"