none
Codigo excluir conteudo da celulas RRS feed

  • Pergunta

  •  Olá! Alguém poderia me informar um código para o excel para a seguinte situação:

    Na Célula A1 eu digitarei o nr. "2" e o que estiver entre  A1:H1 eu quero que seja excluído os valores dentro destas células. 

    Olá Me desculpem eu quis dizer, o que estiver entre "B1:H1".
    • Editado Libeck terça-feira, 30 de abril de 2013 19:18
    terça-feira, 30 de abril de 2013 19:07

Respostas

  • Private Sub Worksheet_Change(ByVal Target As Range)
        Dim lngMatch As Long
        
        If Intersect(Target, Range("D18:D53")) Is Nothing Then Exit Sub
        
        If Target = 2 Then
            Application.EnableEvents = False
            lngMatch = WorksheetFunction.Match("*", Range("H15:V15"), -1)
            Cells(Target.Row, "H").Offset(, lngMatch).Resize(, lngMatch).ClearContents
            Application.EnableEvents = True
        End If
    
    
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo! muito obrigado pela ajuda, deu certo, me desculpe por não ter respondido antes, estava viajando a trabalho.

    Obrigado mais uma vez!

    • Marcado como Resposta Libeck sábado, 8 de junho de 2013 18:34
    sábado, 8 de junho de 2013 18:34

Todas as Respostas

  • Olá Bom dia poderia detalhar mais como gostaria de fazer?
    Um jeito fácil seria:

    Insira um botão:

    Guia Desenvolvedor> Inserir> Controle ActiveX Botão de comando.

    De um clique duplo no botão criado, e verifique se está em Private Sub CommandButton1_Click()

    If Plan1.Range("A1") = 2 Then
       Plan1.Range("B1:H1") = ""
    End if

    OBS: Plan1 refere-se a planilha que voce deseja aplicar, e não é o nome dado pra planilha e sim a referencia do visual para a planilha. Se for utilizar o nome da planilha substitua por Sheets("Nome da Planilha).

    Qualquer coisa só falar. Abraços


    Laionel Lellis


    quinta-feira, 2 de maio de 2013 12:13
  • Olá Laionel,

    Este código me cairia muito bem! Porém eu gostaria de usar o nr. "2" que é o código que identifica que aqueles valores foram excluídos por tais motivos, existem outros códigos com outras situações e que envolvem uma serie de relacionamento com outras planilhas.

    Vou explicar melhor o que eu tenho na planilha:

    Na coluna C18 eu tenho os nomes dos clientes;

    Na Coluna D18:D500 eu coloco o nr. 2 caso eu queira excluir os valores que estão entre H18:V18

    Digamos que eu tenha um cliente na linha C30 qdo eu digitar o nr. "2" na celula D30 os valores que estiverem entre H30:V30 serão apagados. 

    quinta-feira, 2 de maio de 2013 20:10
  • Cole o código abaixo na classe da planilha em que deseja este efeito:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
        
        If Range("A1") = 2 Then
            Application.EnableEvents = False
            Range("B1:H1").ClearContents
            Application.EnableEvents = True
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sábado, 4 de maio de 2013 13:26
    Moderador
  • Cole o código abaixo na classe da planilha em que deseja este efeito:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
        
        If Range("A1") = 2 Then
            Application.EnableEvents = False
            Range("B1:H1").ClearContents
            Application.EnableEvents = True
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá deu certo, porém eu tenho a seguinte situação que gostaria de estender.

    Na Coluna A1:A40 eu tenho nome dos alunos;

    Na B1:B40 recebe o nr."2" se caso o aluno desistir;

    Entre C1:H40 eu tenho os valores e caso algum aluno desiste entre esse intervalo qdo eu digitar "2" os valores são excluídos.


    domingo, 5 de maio de 2013 02:24
  • Seria isso?

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1:A40")) Is Nothing Then Exit Sub
        
        If Target = 2 Then
            Application.EnableEvents = False
            Cells(Target.Row, "B").Resize(, 7).ClearContents
            Application.EnableEvents = True
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 6 de maio de 2013 01:04
    Moderador
  • Seria isso?

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A1:A40")) Is Nothing Then Exit Sub
        
        If Target = 2 Then
            Application.EnableEvents = False
            Cells(Target.Row, "B").Resize(, 7).ClearContents
            Application.EnableEvents = True
        End If
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Me desculpe amigo! Desta vez não deu certo!
    segunda-feira, 6 de maio de 2013 02:17
  • O que não deu certo?

    Entendi que quando se preenche com o número 2 alguma célula da coluna A, o intervalo da linha correspondente das colunas B até H devem ser apagados.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 6 de maio de 2013 10:03
    Moderador
  • O que não deu certo?

    Entendi que quando se preenche com o número 2 alguma célula da coluna A, o intervalo da linha correspondente das colunas B até H devem ser apagados.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo!

    Vou tentar explicar novamente:

    Na coluna A1:A50 eu coloco os nomes dos alunos;

    Na coluna B1:B50 eu digito o nr 2, caso algum aluno no intervalo entre A1:A50 desistiu;

    Na coluna C1:H50 estão preenchido os valores das mensalidades R$10,00;

    A coluna C1:C50 estão preenchidos os valores de R$10,00 assim como D1:D50 até a H1:H50

    Nas colunas C51; D51; E51; até H51 recebe a soma de cada coluna;

    Digamos que na linha 15 esta o nome do aluno Pedro.  Ele pagou o mês de janeiro que é a coluna C e  

    ele pagou o mês de fevereiro que é a coluna D, pagou o mês de março que é a coluna E, porém em Abril ele pediu desistência. Daí eu vou na linha B15 que é a referencia de A15 onde contém o no do Pedro e digito na celula B15 o nr."2" os valores que ele pagou eu gostaria que permanecesse e os meses que ele não vai mais estudar eu quero que se exclua.


    quinta-feira, 9 de maio de 2013 02:22
  • Etenndi, mas uma dúvida:

    "os valores que ele pagou eu gostaria que permanecesse e os meses que ele não vai mais estudar eu quero que se exclua."

    Como vou saber os valores de mensalidade que ele pagou? O programa irá ver qual é a data atual do sistema (por exemplo, Maio) e apagar os valores das mensalidades subsequentes do aluno até Dezembro?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 9 de maio de 2013 22:13
    Moderador
  • Etenndi, mas uma dúvida:

    "os valores que ele pagou eu gostaria que permanecesse e os meses que ele não vai mais estudar eu quero que se exclua."

    Como vou saber os valores de mensalidade que ele pagou? O programa irá ver qual é a data atual do sistema (por exemplo, Maio) e apagar os valores das mensalidades subsequentes do aluno até Dezembro?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá meu amigo, vou passar corretamente como é a minha planilha:

    Coluna C18:C40 = Nome dos alunos

    Coluna D18:D40 = recebe o cod. "2" caso o aluno desistiu do curso

    Coluna H18:V40 eu coloco os vlrs. R$10,00

    Na Linha H17:V17 eu enumerei de 1 a 15 que é o total de parcelas

    Na linha H13:V13 Data de vencimento

    Na linha H14:V14 Valor total da mensalidade dos alunos H18:H40 são 23 alunos

    Na linha H15:V15 eu coloco "Pago"

    Na coluna H18 considrei o vencimento 10/01 parcela 1

    Na coluna I18 considerei o vencimento 10/02 parcela 2

    e assim por diante; quando um aluno desiste eu procuro o nome dele em qual linha ele esta cadastrado, digamos que o "Pedro" está na linha 12 e ele pagou os meses de jan, fev e mar e abr pediu desistência, quando eu digitar o "2" na linha D 12, este codigo lê que ele pagou os meses jan/fev/mar e o restante ele vai apagar os valores porque dali pra frente ele não vai mais pagar.

    sexta-feira, 10 de maio de 2013 00:41
  • Tem alguma coisa que não estou enxergando porque mesmo assim não entendi como o programa vai entender o que foi pago ou não:

    "Na linha H15:V15 eu coloco 'Pago'"

    Se você fizer isso, o Pago se aplicará para toda coluna, não?

    Veja o modelo que montei e comente em cima dele:

    https://skydrive.live.com/redir?resid=FB206A2D510E0661!775&authkey=!ACSWvPpqJmm5Tic

    Não há nenhum código, só gostaria que me explicasse como os pagamentos são registrados na tabela.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sábado, 11 de maio de 2013 11:54
    Moderador
  • Tem alguma coisa que não estou enxergando porque mesmo assim não entendi como o programa vai entender o que foi pago ou não:

    "Na linha H15:V15 eu coloco 'Pago'"

    Se você fizer isso, o Pago se aplicará para toda coluna, não?

    Veja o modelo que montei e comente em cima dele:

    https://skydrive.live.com/redir?resid=FB206A2D510E0661!775&authkey=!ACSWvPpqJmm5Tic

    Não há nenhum código, só gostaria que me explicasse como os pagamentos são registrados na tabela.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo é isso mesmo! cada coluna qdo eu colocar o valor total e a data de venc. qdo o aluno pagar eu coloco a data do pagto e na linha H15:V15 tem uma função "SE" que ao ser preenchido o vlr. ela entende como pago e aparece "PAGO"nesta linha. 
    segunda-feira, 13 de maio de 2013 02:11
  • Li suas instruções e analisei a planilha várias vezes, mas não entendi. Favor disponibilizar sua pasta de trabalho para eu ver como está.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 13 de maio de 2013 23:25
    Moderador
  • Li suas instruções e analisei a planilha várias vezes, mas não entendi. Favor disponibilizar sua pasta de trabalho para eu ver como está.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo! como é que eu faço para enviar a minha planilha.
    quinta-feira, 16 de maio de 2013 01:33
  • http://www.ambienteoffice.com.br/outros/como_disponibilizar_um_arquivo_para_download/

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 17 de maio de 2013 01:47
    Moderador
  • http://www.ambienteoffice.com.br/outros/como_disponibilizar_um_arquivo_para_download/

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo! segue o link...

    https://skydrive.live.com/redir?resid=459513018A379F38!225&authkey=!AFrnrMTS6VWrTaU

    sexta-feira, 17 de maio de 2013 02:57
  • Private Sub Worksheet_Change(ByVal Target As Range)
        Dim lngMatch As Long
        
        If Intersect(Target, Range("D18:D53")) Is Nothing Then Exit Sub
        
        If Target = 2 Then
            Application.EnableEvents = False
            lngMatch = WorksheetFunction.Match("*", Range("H15:V15"), -1)
            Cells(Target.Row, "H").Offset(, lngMatch).Resize(, lngMatch).ClearContents
            Application.EnableEvents = True
        End If
    
    
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 20 de maio de 2013 21:49
    Moderador
  • Private Sub Worksheet_Change(ByVal Target As Range)
        Dim lngMatch As Long
        
        If Intersect(Target, Range("D18:D53")) Is Nothing Then Exit Sub
        
        If Target = 2 Then
            Application.EnableEvents = False
            lngMatch = WorksheetFunction.Match("*", Range("H15:V15"), -1)
            Cells(Target.Row, "H").Offset(, lngMatch).Resize(, lngMatch).ClearContents
            Application.EnableEvents = True
        End If
    
    
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Olá amigo! muito obrigado pela ajuda, deu certo, me desculpe por não ter respondido antes, estava viajando a trabalho.

    Obrigado mais uma vez!

    • Marcado como Resposta Libeck sábado, 8 de junho de 2013 18:34
    sábado, 8 de junho de 2013 18:34