Resolvido.
Linha correspondente alterada no código original com o seguinte:
barcode=Application.VLookup(ListBox1.Text,ActiveWorkbook.Names(ListBox1.ListFillRange).RefersToRange, 2, False)
Eu quero implementar um localizador de código de barras no Excel, então eu tenho nomes de itens e códigos de barras em folhas separadas, dependendo do grupo ao qual um item pertence. O usuário clica em um botão de opção (selecionando Grupo 1, Grupo 2 ou qualquer outro) e o intervalo de preenchimento de uma caixa de listagem é definido como um dos intervalos de nome dinâmicos que defini .
Ousuárioclicaemumbotãoparacopiarocódigodebarrasdoitemcorrespondente.Aquiestáamacroassociadaaobotão:
SubGet_Barcode()DimobjDataAsNewDataObjectDimbarcodeAsStringOnErrorGoToErrorcatchbarcode=Application.WorksheetFunction.VLookup(ListBox1.Text,ListBox1.ListFillRange,1,False)objData.SetTextbarcodeobjData.PutInClipboardMsgBox"Barcode " & barcode & " copied to clipboard"
Errorcatch:
MsgBox Err.Description
End Sub
O problema é que ele exibe um Unable to get the VLookup property of the WorksheetFunction class
e não sei o que estou fazendo errado ...
Resolvido.
Linha correspondente alterada no código original com o seguinte:
barcode=Application.VLookup(ListBox1.Text,ActiveWorkbook.Names(ListBox1.ListFillRange).RefersToRange, 2, False)