Bom dia
Tenho um formulario que realiza a pesquisa em uma planilha com o nome base
O código esta funcionando perfeitamente com a planilha sendo exibida, localiza o produto e retorna as informações
Porem quando oculto a planilha base o código não funciona!
O código é esse abaixo
Private Sub txtplu_AfterUpdate() 'declaracao das variaveis Dim intervalo As Range Dim texto As String Dim codigo As Integer Dim pequisa Dim mensagem 'campo PLU definido como texto codigo = txtplu.Text 'planilha que vou pesquisar Sheets("base").Select 'intervalo de pesquisa Set intervalo = Range("A:E") On Error GoTo trataErro 'declaracao das pesquisas e intervalos utilizados pesquisa = Application.WorksheetFunction.VLookup(codigo, intervalo, 2, False) pesq1 = Application.WorksheetFunction.VLookup(codigo, intervalo, 3, False) pesq2 = Application.WorksheetFunction.VLookup(codigo, intervalo, 4, False) pesq3 = Application.WorksheetFunction.VLookup(codigo, intervalo, 5, False) pesq4 = Application.WorksheetFunction.VLookup(codigo, intervalo, 5, False) 'retorno dos dados txtdescricao.Text = pesquisa txtfornecedor.Text = pesq1 txtembcompra.Text = pesq2 txtshelf.Text = pesq3 txtplu.SetFocus Exit Sub trataErro: texto = "Produto não localizado!" mensagem = MsgBox("PRODUTO NAO LOCALIZADO", vbCritical, ":: PRODUTO NÃO LOCALIZADO ::") End Sub
Como posso trabalhar com a planilha oculta e mesmo assim o codigo funcionar corretamente?
G@b®!eL
Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.
Qual o erro?
Posta a planilha?
já tentou declarar a dimensão da worksheet e usar sua variável?
tentou setar o intervalo com o nome da planilha?
Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.
Abraços!
Leandro Cordeiro
Na intuição, acredito que o erro está aqui:
Sheets("base").Select
Se você ocultou a planilha base, acredito que não tem como você dar um comando select nela. A não ser que você torne-a visivel, depois realize a rotina, e depois torne-a invisivel novamente.
Abçr!
___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].
Att.
André Arruda
Com a planilha oculta, não é possível utilizar o comando .Select.
Possibilidades experimente e veja qual se adequa melhor a sua realidade:
'campo PLU definido como texto codigo = txtplu.Text 'planilha que vou pesquisar Sheets("base").Visible = True Sheets("base").Select '...... '.... Sheets("base").Visible = False Exit Sub '....
ou
'planilha que vou pesquisar Sheets("base").Activate 'intervalo de pesquisa Set intervalo = Sheets("base").Range("A:E") '....
ou
'planilha que vou pesquisar With Sheets("base") 'intervalo de pesquisa Set intervalo = .Range("A:E") '....
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
O erro é quando eu oculto a planilha "base"
Com ela oculta o código não funciona!
Se ela estiver visível ele localiza os dados corretamente
Segue o exemplo!
G@b®!eL
Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.
Agradeço a todos pela atenção
Reinaldo utilizei a opção abaixo e deu certo
'campo PLU definido como texto codigo = txtplu.Text 'planilha que vou pesquisar Sheets("base").Visible = True Sheets("base").Select '...... '.... Sheets("base").Visible = False Exit Sub '....
G@b®!eL
Se a resposta foi útil para você, por gentileza, clique na mãozinha ao lado direito da sua tela no canto superior.