Ir ao conteúdo
  • Cadastre-se

Adriano Delvali

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

Tudo que Adriano Delvali postou

  1. @Basole posso te mandar todo o arquivo por e-mail ou algo parecido?
  2. @Basole eu estava finalizando a montagem do arquivo. e tem um campo onde eu carrego dados através do listbox. (tabela parâmetros do bd). minha ideia era usar o busca access para que toda vez que um campo fosse carregado com um parâmetro, a unidade de medida fosse carregada na coluna posterior. bd_Garantia_Qualidade.rar
  3. @Basole uma dúvida a função =Busca_Dados_Access só aceita números. é possível ela aceitar tb letras? obrigado
  4. @Basole ficou excelente. Ajudou muito mesmo. Mais uma vez muito obrigado pela sua disposição em ajudar!
  5. @Basole Estava ausente, por isso não consegui responder na terça. Olha, ficou perfeita a busca no banco, era exatamente isso. só acertei o range, pois no laudo somente 1 célula ira aceitar o dado buscado ("B3"). mas ficou show. Em relação a 2ª dúvida: para cada item que eu busco existe um fornecedor. porém nesse caso não tenho os códigos deles, por isso preciso buscar em um listbox pelo nome. a ideia era clicar em uma determinada célula e abrir um listbox com todos os fornecedores e eu selecionar um deles e o resultado preencher uma célula (no exemplo seria a "D3"). você ja fez isso para mim, porém abrindo o listbox de um banco excel, o que preciso é modificar para o listbox vir do access. conseguiu entender?
  6. @Basole Segue o bd com as duas abas. Valeu pela força. bd_Garantia_Qualidade.rar
  7. @Basole eu estou precisando fazer as duas rotinas que estou fazendo atualmente com o banco excel 1ª - hoje eu digito o código de um determinado item em uma célula (B3) e na outra célula carrega a descrição (C3) (PROCV). Eu queria fazer isso na minha planilha sem utilizar um useform (digitar o código em uma célula, ele fazer um procv no banco access e carregar na outra célula a descrição. 2ª Adaptar o código que você me fez pra mim no inicio do tópico para a busca ser no banco access (atualmente ele faz no banco excel)
  8. @Basole anexei um exemplo simples, com a conexão com o banco de dados access e algumas rotinas. obrigado pela ajuda. Exemplo Basole.rar
  9. @Basole bom dia, Só uma pergunta, mas nada que irei fazer no momento. Essa rotina era possível com um banco no access? hoje já tenho uma conexão com o banco access, pois todo os resultados que são gerados no preenchimento dessa planilha são enviados para o banco. abraços
  10. @basole, só um ajuste que não estou conseguindo achar. eu adaptei o código para algumas abas. Para as que tem poucas linhas preenchidas dá um erro e depois abre o listbox. o erro é o seguinte: 94 Uso de Null inválido
  11. @Basole Funcionou perfeitamente, só fiz um ajuste na ordem de busca da planilha conforme o código. Mas ficou Show. Obrigado novamente! With rs While rs.EOF = False TextoCelula = rs.Fields(1) 'Coluna 1 - ordem da aba na planilha If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then ListBox1.AddItem rs.Fields(1) 'Coluna 1 - ordem da aba na planilha End If rs.MoveNext Wend End With
  12. @Basole,Primeiramente obrigado pela disposição em sempre ajudar! Sou grato por isso. você está correto, é um listbox. Sou muito leigo no assunto. consigo apenas fazer algumas coisas e adaptações para uso. Tentei utilizar o código que você passou, mas me retornou um erro. Pode ser que tenha feito algo errado. Não sei se expliquei minha necessidade corretamente, mas para você ver minha aplicação, anexei uma planilha com o código que uso. Hoje funciona bem, mas a ideia é como falei inicialmente, ter um arquivo no servidor com os dados que serão carregados quando o usuário clicar em determinada célula. Obrigado mais uma vez! EXEMPLO LISTBOX.xls
  13. Boa tarde pessoal do Clube! Preciso de uma pequena ajuda num comando aqui. tenho o código abaixo que faz referência/busca a uma sheet dentro do próprio arquivo. estou tentando fazer a busca em um outro arquivo que fica no servidor, porém não esta dando certo. alguém pode me ajudar? código atual (funcionando) Option Explicit Private TextoDigitado As String Private Sub ListBox1_Click() ActiveCell.Value = ListBox1.Value Unload Me End Sub Private Sub UserForm_Initialize() Call PreencheLista End Sub Private Sub PreencheLista() Dim ws As Worksheet Dim i As Integer Dim TextoCelula As String Set ws = ThisWorkbook.Worksheets(9) i = 1 ListBox1.Clear With ws While .Cells(i, 8).Value <> Empty TextoCelula = .Cells(i, 8).Value If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then ListBox1.AddItem .Cells(i, 8) End If i = i + 1 Wend End With End Sub código que estou tentando ajustar: Option Explicit Private TextoDigitado As String Private Sub ListBox1_Click() ActiveCell.Value = ListBox1.Value Unload Me End Sub Private Sub TextBox1_Change() TextoDigitado = TextBox1.Text Call PreencheLista End Sub Private Sub UserForm_Initialize() Call PreencheLista End Sub Private Sub PreencheLista() Dim wb As Workbook: Set wb = ActiveWorkbook Dim ws As Worksheet Dim strTemplate As String: strTemplate = "Z:\BANCO_DADOS\DADOS.xls" Set ws = wb.Sheets.Add(Type:=strTemplate)(9) i = 1 ListBox1.Clear With ws While .Cells(i, 2).Value <> Empty TextoCelula = .Cells(i, 2).Value If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then ListBox1.AddItem .Cells(i, 2) End If i = i + 1 Wend End With End Sub
  14. Fala parceiro @Basole, consegue achar uma sugestão para o meu problema? abraços!
  15. Segue @Basole, dei uma limpada nas macros e listas para facilitar. depois de preenchido tanto a gravação quanto a busca de dados é feita na aba banco_dados. a ideia é fazer isso em uma planilha separada. laudo.xls
  16. @Basole, cara desculpa atrapalhar, mas preciso de uma ajuda, se possível. Utilizo o código abaixo para buscar diversos dados em uma aba da mesma planilha. Como o arquivo está ficando muito pesado, eu criei outra plan com o nome banco_dados e gostaria que a busca fosse feita a partir desse banco e não mais da mesma planilha (laudo de análise). consegue me dar uma força? segue o código. obrigado mais uma vez. Sub PESQUISA_BANCO() Application.ScreenUpdating = False ' *** PESQUISA Macro Codigo *** Dim pega As String, cr As Integer, rng As Range, i As Long Sheets("LAUDO").Activate If ThisWorkbook.Sheets("LAUDO").Range("b24").Value <> "" Then Exit Sub Else Range("a36").Activate ActiveCell.Activate pega = VBA.Trim(ActiveCell.Value) If pega = "" Then MsgBox "É necessário informar o número de análise!!!", vbExclamation, "PESQUISA" Exit Sub End If Sheets("banco_dados").Activate cr = 0 Set rng = ActiveSheet.Range("a" & Rows.Count).End(xlUp) For i = 2 To rng.Row 'aqui você não precisa informar o nome completo 'mas corre o risco de ficar em duplicidade If VBA.Trim(ActiveSheet.Cells(i, 78).Value) = VBA.Trim(pega) Then Cells(i, 1).Copy Range("laudo!I6").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 2).Copy Range("laudo!F6").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 3).Copy Range("laudo!B4").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 4).Copy Range("laudo!c8").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 5).Copy Range("laudo!D9").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 6).Copy Range("laudo!I9").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 7).Copy Range("laudo!D10").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 8).Copy Range("laudo!H10").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 9).Copy Range("laudo!F10").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 10).Copy Range("laudo!D11").PasteSpecial (xlPasteValues) Application.CutCopyMode = False 'PARAMETROS Cells(i, 11).Copy Range("laudo!B14").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 12).Copy Range("laudo!B15").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 13).Copy Range("laudo!B16").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 14).Copy Range("laudo!B17").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 15).Copy Range("laudo!B18").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 16).Copy Range("laudo!B19").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 17).Copy Range("laudo!B20").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 18).Copy Range("laudo!B21").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 19).Copy Range("laudo!B22").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 20).Copy Range("laudo!B23").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 21).Copy Range("laudo!B24").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 22).Copy Range("laudo!B25").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 23).Copy Range("laudo!B26").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 24).Copy Range("laudo!B27").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 25).Copy Range("laudo!B28").PasteSpecial (xlPasteValues) Application.CutCopyMode = False 'UNIDADE Cells(i, 26).Copy Range("laudo!E14").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 27).Copy Range("laudo!E15").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 28).Copy Range("laudo!E16").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 29).Copy Range("laudo!E17").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 30).Copy Range("laudo!E18").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 31).Copy Range("laudo!E19").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 32).Copy Range("laudo!E20").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 33).Copy Range("laudo!E21").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 34).Copy Range("laudo!E22").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 35).Copy Range("laudo!E23").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 36).Copy Range("laudo!E24").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 37).Copy Range("laudo!E25").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 38).Copy Range("laudo!E26").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 39).Copy Range("laudo!E27").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 40).Copy Range("laudo!E28").PasteSpecial (xlPasteValues) Application.CutCopyMode = False 'RESULTADO Cells(i, 41).Copy Range("laudo!F14").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 42).Copy Range("laudo!F15").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 43).Copy Range("laudo!F16").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 44).Copy Range("laudo!F17").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 45).Copy Range("laudo!F18").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 46).Copy Range("laudo!F19").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 47).Copy Range("laudo!F20").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 48).Copy Range("laudo!F21").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 49).Copy Range("laudo!F22").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 50).Copy Range("laudo!F23").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 51).Copy Range("laudo!F24").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 52).Copy Range("laudo!F25").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 53).Copy Range("laudo!F26").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 54).Copy Range("laudo!F27").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 55).Copy Range("laudo!F28").PasteSpecial (xlPasteValues) Application.CutCopyMode = False 'ESPECIFICADO Cells(i, 56).Copy Range("laudo!I14").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 57).Copy Range("laudo!I15").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 58).Copy Range("laudo!I16").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 59).Copy Range("laudo!I17").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 60).Copy Range("laudo!I18").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 61).Copy Range("laudo!I19").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 62).Copy Range("laudo!I20").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 63).Copy Range("laudo!I21").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 64).Copy Range("laudo!I22").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 65).Copy Range("laudo!I23").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 66).Copy Range("laudo!I24").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 67).Copy Range("laudo!I25").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 68).Copy Range("laudo!I26").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 69).Copy Range("laudo!I27").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 70).Copy Range("laudo!I28").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 71).Copy Range("laudo!D30").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 72).Copy Range("laudo!E30").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 73).Copy Range("laudo!C31").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 74).Copy Range("laudo!B32").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 75).Copy Range("laudo!D33").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 76).Copy Range("laudo!J34").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 77).Copy Range("laudo!D35").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Sheets("LAUDO").Select cd1 = Range("e8").Value cd = Range("c8").Value pergunta = MsgBox("Analise Encontrada!" & _ Chr(13) & "É possível que haja outras análises com o mesmo número," & _ Chr(13) & "quer continuar a busca?" & Chr(13) & _ Chr(13) & "Código do Insumo encontrado: " & cd & _ Chr(13) & "Descrição do Insumo encontrado: " & cd1, _ vbYesNo, "PESQUISA") If pergunta = vbNo Then Sheets("LAUDO").Select MsgBox "Fim da Pesquisa!", vbExclamation, "PESQUISA" Exit Sub Else 'Atenção com esta linha para alteração 'o loop pode mudar de direção Sheets("banco_dados").Activate End If cr = cr + 1 End If Next i If cr = 0 Then Sheets("LAUDO").Select MsgBox "Análise não encontrada!", vbExclamation, "PESQUISA" Else Sheets("LAUDO").Select MsgBox "Fim da busca, nº de análise encontradas: (" & cr & ")", vbExclamation, "" End If End If Application.ScreenUpdating = True End Sub
  17. @DJunqueira a planilha que eu tenho é bem parecida com essa. eu precisava do contrário. mas o Basole ja deu a solução. grato pela atenção. att,
  18. @Basole PERFEITO!!!!! Muito Grato pela Ajuda! Ficou Show! Abraços
  19. @Basole, atualmente eu só consigo pesquisar digitando uma palavra chave ou o nome completo do produto. mas minha lista com o passar do tempo está muito grande, acima de 1500 itens, por isso eu queria ao invés de digitar palavra chave, digitar somente o código do produto, uma vez que todo produto tem um código único. compreende? o código antigo só aceitava texto. eu queria que aceitasse e buscasse pelo código que é composto de números. grato pela ajuda mais uma vez. att,
  20. Bom dia @Basole obrigado pela ajuda, mas agora esta aparecendo um erro que não sei como resolver. segue: a variável do objeto ou a variável do bloco with não foi definida rng = ActiveSheet.Range("b" & Rows.Count).End(xlUp).Row para facilitar, anexei a planilha. eu enxuguei ela bastante para não ficar pesado. retirei outras macros que não vem ao caso. obrigado pela ajuda! Laudo de Análise - Garantia da Qualidade 2.xls
  21. Boa tarde, Uma pequena ajuda, sou meio leigo e encontrei um problema em uma macro de uma planilha que tenho. Eu preciso buscar por código(números) um certo produto em uma aba (insumos) de minha planilha. porém a macro que possuo só aceita texto. quando tento digitar um número me retorna os códigos abaixo em amarelo: If Cells(i, 3).Text Like "*" + pega + "*" Then agora se digitar uma palavra chave ou o nome do produto eu tenho o retorno correto. podem me ajudar? abaixo a macro completa: Sub PESQUISA() ' ' PESQUISA Macro Application.Sheets("CADASTRO").Select Range("D23").Select ActiveCell.Activate pega = ActiveCell.Value If pega = "" Then MsgBox "INFORME UMA PALAVRA CHAVE!!!", , "PESQUISA" Exit Sub End If Sheets("insumos").Select cr = 0 Rng = Range("B" & Rows.Count).End(xlUp).Row For i = 3 To Rng Step 1 'aqui você não precisa informar o nome completo 'mas corre o risco de ficar em duplicidade If Cells(i, 3).Text Like "*" + pega + "*" Then Cells(i, 3).Copy Range("CADASTRO!D23").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 2).Copy Range("CADASTRO!D24").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Cells(i, 1).Copy Range("CADASTRO!D25").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Sheets("CADASTRO").Select cd = Range("D24").Value pergunta = MsgBox("Insumo Encontrado!" & _ Chr(13) & "É possível que haja outros INSUMOS com a mesma palavra chave," & _ Chr(13) & "quer continuar a busca por outros insumos?" & Chr(13) & _ "Código do Insumo: " & cd, _ vbYesNo, "PESQUISA") If pergunta = vbNo Then Sheets("CADASTRO").Select MsgBox "Fim da Pesquisa!", , "PESQUISA" Exit Sub Else 'Atenção com esta linha para alteração 'o loop pode mudar de direção Sheets("insumos").Select End If cr = cr + 1 End If Next i If cr = 0 Then Sheets("CADASTRO").Select MsgBox "Insumo não Cadastrado!", , "PESQUISA" Else Sheets("CADASTRO").Select MsgBox "Fim da busca, nº de insumos encontrados: (" & cr & ")", , "" End If End Sub

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...