Primeiramente gostaria de agradecer por estar dedicando seu tempo para ajudar pessoas com problemas no Excel/vba.
Seguinte, meu problema é na realidade bem banal pra alguns de vocês. Estou tentando fazer uma "procv" para dois critérios, nesse caso, seria o "produto" e o "sabor". Utilizo o Index e o Match para poder realizar a busca onde o valor coincida com o produto e o sabor que a pessoa digitou.
O código que fiz foi este:
Citar
Private Sub CommandButton1_Click()
Dim produto As String
Dim Sabor As String
produto = TextBox1.Text
Sabor = TextBox2.Text
TextBox3 = "R$" & Application.WorksheetFunction.Index(Range("C2:C5"), _
Application.WorksheetFunction.Match(produto, Range("A2:A5"), 0), _
Application.WorksheetFunction.Match(Sabor, Range("B2:B5"), 0))
End Sub
Infelizmente, quando você tenta procurar por um produto que não seja o primeiro da lista ele retorna um erro (1003) alertando que não foi possível obter a propriedade Index. Através de pesquisas descobri que a função Match no VBA só lhe retorna o primeiro valor, se não for o mesmo, ele dará erro. Entretudo, pelo que entendi o Match usado como Application.Match retorna o primeiro valor, mas não estou usando esse em questão, e sim uma função da planilha, porém não tenho certeza se difere.
Muito obrigado por dedicar seu tempo ao meu tópico, se puder me ajudar, agradeço. :D
Pergunta
iefraim
Olá galera, bom dia/tarde/noite.
Primeiramente gostaria de agradecer por estar dedicando seu tempo para ajudar pessoas com problemas no Excel/vba.
Seguinte, meu problema é na realidade bem banal pra alguns de vocês. Estou tentando fazer uma "procv" para dois critérios, nesse caso, seria o "produto" e o "sabor". Utilizo o Index e o Match para poder realizar a busca onde o valor coincida com o produto e o sabor que a pessoa digitou.
O código que fiz foi este:
Infelizmente, quando você tenta procurar por um produto que não seja o primeiro da lista ele retorna um erro (1003) alertando que não foi possível obter a propriedade Index. Através de pesquisas descobri que a função Match no VBA só lhe retorna o primeiro valor, se não for o mesmo, ele dará erro. Entretudo, pelo que entendi o Match usado como Application.Match retorna o primeiro valor, mas não estou usando esse em questão, e sim uma função da planilha, porém não tenho certeza se difere.
Muito obrigado por dedicar seu tempo ao meu tópico, se puder me ajudar, agradeço. :D
Planilha:
http://1drv.ms/1mYlnRy
Editado por iefraimLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.