Ir para conteúdo
Fórum Script Brasil

Ryxard

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Ryxard

Ryxard's Achievements

0

Reputação

  1. Ryxard

    VBA Excel - Do While Loop

    Também tentei com parênteses e não resolveu então, usei FOR NEXT Da forma como está o código abaixo, me atende. Questão resolvida. Private Sub btnExcluir_Click() Dim UltimaLinha As Long Dim LinhaExcluir As Integer Dim Resposta As Variant contador = 0 Range("A1").Select UltimaLinha = Range("A65536").End(xlUp).Row 'Acha a última linha preenchida For contador = 1 To UltimaLinha 'Abre a estrutura "For" executando um "loop" até a última linha preenchida If ActiveCell.Text = tbxNomeCliente.Text And ActiveCell.Offset(0, 1).Text = tbxSobrenome.Text And ActiveCell.Offset(0, 2).Text = tbxNomeObra.Text And ActiveCell.Offset(0, 3).Text = tbxServico.Text And ActiveCell.Offset(0, 4).Text = tbxDataContrato.Text Then Resposta = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Atenção!!") If Resposta = vbYes Then LinhaExcluir = ActiveCell.Row Rows(LinhaExcluir).Select Selection.Delete Shift:=xlUp 'Limpando os campos do formulário tbxNomeCliente.Text = "" tbxSobrenome.Text = "" tbxNomeObra.Text = "" tbxServico.Text = "" tbxDataContrato.Text = "" tbxValContrato.Text = "" tbxValEntrada.Text = "" cbxNumParcelas.Text = "" tbxProcurarPor.Text = "" Exit Sub 'Sai do procedimento End If End If ActiveCell.Offset(1, 0).Select 'Dá um Offset na linha para baixo Next End Sub
  2. Ryxard

    List Box

    Olá pessoal! Tenho um formulário de cadastro de clientes.Tenho "Nome" e "Sobrenome" e outros como entrada de dados.Neste mesmo formulário, tenho uma ComboBox com critérios para pesquisa (por: nome, sobrenome e outros), uma TextBox para inserir o valor referente ao critério escolhido, um Botão Pesquisar e uma ListBox que lista os dados pesquisados.Quando faço o cadastro, posso ter vários "Nomes de "Pedro" com "Sobrenomes" diferentes. Um dia preciso fazer uma consulta aos dados de "Pedro", mas não lembro de seu "Sobrenome", então faço uma pesquisa "por nome" com o valor de "Pedro" e é listado em minha ListBox todos os "Pedros" que já foram cadastrados e seus dados. Então, seleciono o "Pedro" que quero e este é colocado nos campos do formulário, dando condições para "Editar e Salvar a Edição" ou "Excluir". Até aqui tudo corre normalmente. DAQUI PARA FRENTE são minhas dúvidas: Quando seleciono o "Pedro" que eu quero na ListBox, a "LINHA" correspondente na planilha de Cadastro de Clientes NÃO está sendo ATIVADA, desta forma eu não tenho como "Editar e Salvar" ou mesmo "Excluir".>> Preciso de um CÓDIGO que quando selecionar um ITEM na LISTBOX, ative a linha correspondente na PLANILHA Código que está sendo usado para selecionar um ITEM na LISTBOX Quando seleciono um ITEM da LISTBOX, os campos do formulário recebe os dados correspondentes, mas não ativa a LINHA na PLANILHA. Private Sub ListaClientes_Change() If txtProcPor.Text <> "" Then txtNomeCliente.Text = ListaClientes.Column(0) txtSobrenome.Text = ListaClientes.Column(1) Aqui faço uma escolha por Pessoa Física ou Jurídica, então a coluna é a mesma If opbtnPFisica.Value = True Then txtCPF.Text = ListaClientes.Column(2) End If If opbtnPJuridica.Value = True Then txtCNPJ.Text = ListaClientes.Column(2) End If txtEndereco.Text = ListaClientes.Column(3) txtNumero.Text = ListaClientes.Column(4) txtComplemento.Text = ListaClientes.Column(5) txtBairroLocal.Text = ListaClientes.Column(6) txtCEP.Text = ListaClientes.Column(7) txtDistrito.Text = ListaClientes.Column(8) txtCidade.Text = ListaClientes.Column(9) End If End Sub Ryxard
  3. Olá! Este procedimento testa "NomeCliente", "Sobrenome" e "NomeObra". Vamos dizer que eu tenho um cadastro com 10(dez) clientes e que 2(dois) deles tem o NomeCliente = Pedro com Sobrenomes/diferentes e NomeObras/diferentes. Quero excluir um Pedro, pois foi uma entrada equivocada. Faço a pesquisa através do Nome, encontro os 2(dois) Pedros que são listados em uma ListBox, seleciono na ListBox o Pedro que quero excluir e então ele é mostrado no formulário para edição ou exclusão - (na planilha do excel o pedro que escolhi fica na linha mais abaixo do que o outro Pedro, isto é, o teste tem que passar pelo primeiro Pedro para excluir o segundo Pedro). Pressiono Excluir e então começa a busca. Neste ponto estou com problema: "Do While Loop" testa as condicionais, mas na primera ocorrencia de Pedro ele já sai do Loop e então nada é excluido. Como contornar este problema? Vejam o código Private Sub btnExcluir_Click() Dim LinhaExcluir As Integer Dim resposta As Variant contador = 0 Range("A1").Select Do While ActiveCell.Text <> tbxNomeCliente.Text And ActiveCell.Offset(0, 1).Text <> tbxSobrenome.Text And ActiveCell.Offset(0, 2).Text <> tbxNomeObra.Text And contador < 100 ActiveCell.Offset(1, 0).Select contador = contador + 1 Loop 'Aqui, a condicional de "Do While Loop" foi encontrada e então certifica a exclusão. If ActiveCell.Text = tbxNomeCliente.Text And ActiveCell.Offset(0, 1).Text = tbxSobrenome.Text And ActiveCell.Offset(0, 2).Text = tbxNomeObra.Text Then resposta = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Atenção!!") If resposta = vbYes Then LinhaExcluir = ActiveCell.Row Rows(LinhaExcluir).Select Selection.Delete Shift:=xlUp End If End If End Sub Ryxard
×
×
  • Criar Novo...