- Fórum WMO
- → M3W's Content
M3W's Content
There have been 5 items by M3W (Search limited from 22/05/2023)
Ordernar por
Order
#1004414 Dúvida Vba Excel 2003
Posted by M3W on 11/10/2010, 13:54 in Visual Basic
Consegui resolver LeoB
Fiz o código de verificação onde ocorre o erro cmdGRUPO
e no x coloquei o número do erro '380'
Agora está funcionando perfeitamente.
Muito obrigado pela ajuda.
Vlw
Fiz o código de verificação onde ocorre o erro cmdGRUPO
e no x coloquei o número do erro '380'
Agora está funcionando perfeitamente.
Muito obrigado pela ajuda.
Vlw
#1004356 Dúvida Vba Excel 2003
Posted by M3W on 08/10/2010, 15:19 in Visual Basic
Bem sem esse código para identifiar o erro o que acontece é que quando eu clico no botão de busca a macro faz um filtro em uma coluna e com o que estiver numa celula ele ele faz o filtro.
O programa roda normalmente sem problemas, mas se a célula tiver uma palavra que não tem na coluna a macro depura
Quando termina o macro da sequência a minha programação que é a seguinte
Quando eu ativo o tratamento do erro, ele manda a msg caso o que tenha na célula não contenha na coluna e exibe a msg Erro na digitação, mas ele também exibe a msg se a célular tiver um conteúdo que contenha na coluna.
Ou seja ele ta parando o programa mesmo se a célula estiver com um valor válido ou não.
Espero ter sido o mais detalhado possível.
Obrigado
O programa roda normalmente sem problemas, mas se a célula tiver uma palavra que não tem na coluna a macro depura
Erro em tempo de execução '308': Não foi possível definir a propriedade ListIndex. Valor de propriedade inválido
Quando termina o macro da sequência a minha programação que é a seguinte
Private Sub cmdGRUPO_Click() cbxGRUPO.Enabled = True cmdCONFIRMAR.Enabled = True Geconomico = txtGRUPO.Text cmdPesquisar.Enabled = True Range("Capa!S5").Value = "Desativado" If Geconomico = "" Then MsgBox " Digite o Grupo Econômico " Else UCase (Geconomico) Range("Capa!R1") = Geconomico Call Módulo1.MacroGRUPO cbxGRUPO.Clear Range("Capa!AB1").Select Preencher = True Do While Preencher = True ActiveCell.Offset(1, 0).Select If ActiveCell.Value = vbNullString Then Preencher = False Else cbxGRUPO.AddItem ActiveCell.Value End If Loop (cbxGRUPO.ListIndex = 0) Range("Capa!A1").Select End If End SubA linha entre parenteses é onde a macro depura sem o código de verificação
Sub MacroGRUPO() 'On Error GoTo TrataErro Dim varGRUPO As String varGRUPO = Range("Capa!R1").Value Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd Range("PBT!A3:BJ40000").Copy Range("Dados!A3").PasteSpecial Range("PBT!D:D").AutoFilter Range("Capa!U2").Select ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh Range("A1").Select 'TrataErro: ' If Err.Number = X Then ' MsgBox "Erro na digitação", vbInformation, "Erro na digitação" ' End ' Exit Sub ' End If End Sub
Quando eu ativo o tratamento do erro, ele manda a msg caso o que tenha na célula não contenha na coluna e exibe a msg Erro na digitação, mas ele também exibe a msg se a célular tiver um conteúdo que contenha na coluna.
Ou seja ele ta parando o programa mesmo se a célula estiver com um valor válido ou não.
Espero ter sido o mais detalhado possível.
Obrigado
#1004310 Dúvida Vba Excel 2003
Posted by M3W on 07/10/2010, 14:18 in Visual Basic
Boa tarde LeoB
O código ficou assim:
Bem com o código assim quando a pessoa digita algo que contém na coluna tudo funciona normalmente.
Mas quando digitado algo que não contém ele ta passando direto p/ parte seguinte e depurando mais a frente do programa onde deveriam ter os dados que foram filtrados.
Obrigado
O código ficou assim:
Sub MacroGRUPO() On Error GoTo TrataErro Dim varGRUPO As String varGRUPO = Range("Capa!R1").Value Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd Range("PBT!A3:BJ40000").Copy Range("Dados!A3").PasteSpecial Range("PBT!D:D").AutoFilter Range("Capa!U2").Select ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh Range("A1").Select Exit Sub TrataErro: If Err.Number = X Then MsgBox "Erro na digitação Y", vbInformation, "Erro na digitação" End Exit Sub End If End Sub
Bem com o código assim quando a pessoa digita algo que contém na coluna tudo funciona normalmente.
Mas quando digitado algo que não contém ele ta passando direto p/ parte seguinte e depurando mais a frente do programa onde deveriam ter os dados que foram filtrados.
Obrigado
#1004286 Dúvida Vba Excel 2003
Posted by M3W on 06/10/2010, 19:09 in Visual Basic
Boa noite LeoB
Eu fiz isso mas agora está passando direto e depurando quando algo for digitado incorretamente.
O que eu posso fazer ?
Vlw a dica.
Eu fiz isso mas agora está passando direto e depurando quando algo for digitado incorretamente.
O que eu posso fazer ?
Vlw a dica.
#1004281 Dúvida Vba Excel 2003
Posted by M3W on 06/10/2010, 17:23 in Visual Basic
Boa Tarde
Este é o meu primeiro tópico aqui e espero que algum membro possa me auxiliar
Eu tenho uma macro rodando em uma planilha de excel
e nela tenho 3 sheets (Capa, Dados, Exibição)
Bem na sheet Capa tem um textbox e um botão. O que a pessoa digita no textbox ele faz um filtro em uma coluna da base de dados e filtra o que foi digitado.
Bem o programa roda normalmente no entanto caso a pessoa digite algo que não contenha na coluna onde é realizado o filtro o programa depura.
Eu gostaria de criar um jeito de verificar e ao invés de depurar exiba uma msg de erro para a pessoa para que ela digite novamente.
Meu programa está com o seguinte código
Recebi uma dica para adicionar um verificador depois da minha rotina, a principio ele funciona e exibe a msg de erro, mas ele está fazendo isso tanto quando a pessoa digita algo errado qnt quando digita algo correto.
O código fica assim:
Espero que alguém possa ajudar.
Obrigado
Este é o meu primeiro tópico aqui e espero que algum membro possa me auxiliar
Eu tenho uma macro rodando em uma planilha de excel
e nela tenho 3 sheets (Capa, Dados, Exibição)
Bem na sheet Capa tem um textbox e um botão. O que a pessoa digita no textbox ele faz um filtro em uma coluna da base de dados e filtra o que foi digitado.
Bem o programa roda normalmente no entanto caso a pessoa digite algo que não contenha na coluna onde é realizado o filtro o programa depura.
Eu gostaria de criar um jeito de verificar e ao invés de depurar exiba uma msg de erro para a pessoa para que ela digite novamente.
Meu programa está com o seguinte código
Sub MacroGRUPO() Dim varGRUPO As String varGRUPO = Range("Capa!R1").Value Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd Range("PBT!A3:BJ40000").Copy Range("Dados!A3").PasteSpecial Range("PBT!D:D").AutoFilter Range("Capa!U2").Select ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh Range("A1").Select
Recebi uma dica para adicionar um verificador depois da minha rotina, a principio ele funciona e exibe a msg de erro, mas ele está fazendo isso tanto quando a pessoa digita algo errado qnt quando digita algo correto.
O código fica assim:
Sub MacroGRUPO() On Error GoTo TrataErro Dim varGRUPO As String varGRUPO = Range("Capa!R1").Value Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd Range("PBT!A3:BJ40000").Copy Range("Dados!A3").PasteSpecial Range("PBT!D:D").AutoFilter Range("Capa!U2").Select ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh Range("A1").Select TrataErro: If Err.Number = X Then MsgBox "Erro na digitação", vbInformation, "Erro na digitação" End Exit Sub End If End Sub
Espero que alguém possa ajudar.
Obrigado
- Fórum WMO
- → M3W's Content
- Privacy Policy
- Regras ·