Notifications
Clear all

Copiar e excluir linha

7 Posts
2 Usuários
0 Reactions
1,312 Visualizações
 RVC5
(@rvc5)
Posts: 3
Active Member
Topic starter
 

Boa Noite

Não tenho muito conhecimento em VBA, mas desenvolvi um trabalho que contem 6 planilhas.

Minha dúvida é que quando marco a CheckBox "Consertado", quero que os dados dessa linha sejam copiados para a Plan "Consertado", consegui que copiasse com o seguinte macro:

If Check_Consertado.Value = True Then
ActiveCell.EntireRow.Copy (ThisWorkbook.Worksheets("Consertado").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0))
End If

Porém ele copia todas as linhas da Plan1 para a Plan "Consertado" e quero que copie apenas a linha onde está com o CheckBox marcado.

Depois, caso eu desmarque essa CheckBox dessa mesma linha, quero que a linha seja apagada da Plan "Consertado".

Aguardo uma ajuda, Obrigado!

 
Postado : 18/06/2013 7:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sem um modelo fica um pouco dificil, mas meu palpite é que falta você "linkar" o CheckBox a celula em que ele se encontra, como está usando a instrução "ActiveCell" vai ser copiado a linha referente a celula que está selecionada e não o CheCkBox.

De uma olhada neste exemplo, é um pouco antigo, nele contem a fonte de onde foi feito a adaptação, veja se ajuda, é utilizado os checkbox associados a FiltroAvançado, bem interessante.

Selecionar CheCkBox enviar outra aba

[]s

 
Postado : 18/06/2013 8:07 pm
 RVC5
(@rvc5)
Posts: 3
Active Member
Topic starter
 

Amigo, não consegui entender muito bem o exemplo que vc me enviou, está meio complexo para mim.
Vou analisá-lo um pouco mais, mas se tiver um exemplo mais simples, eu agradeço.

 
Postado : 19/06/2013 6:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Amigo, não consegui entender muito bem o exemplo que vc me enviou, está meio complexo para mim.
Vou analisá-lo um pouco mais, mas se tiver um exemplo mais simples, eu agradeço.

Neste exemplo, cada ChecjBox tem uma rotina associada ao mesmo :
Pegando como exemplo o CheckBox2:

Private Sub CheckBox2_Click()
    If Plan1.CheckBox2.Value = True Then
        CheckBox2.BackColor = corEnabledCheckBox
        [A3] = "+"
    Else
        CheckBox2.BackColor = corDisabledCheckBox
         [A3] = "-": End If
End Sub

Quando Clicado "Verdadeiro" é colocado o sinal de mais "+" em "A3" e quando "Falso" o sinal de menos "-".

Apos selecionados os itens que quer, a rotina Sub Transfere() simplesmente efetua a Filtragem pela coluna "A" pelos sinal de mais "+" e
If Plan1.Cells(X, 1).Value = "+" Then '1 coluna pequisa, e
transfere para a "Plan2", e quando limpamos os checkbox e executamos a macro, a condição não será atendida limpando os dados que foram transeferido.

Acho que consegui explicar, qq duvida retorne.

Se ainda não for isto, o ideal é anexar um modelo reduzido e compactado para poder trabalhar em cima.

[]s

 
Postado : 19/06/2013 7:10 pm
 RVC5
(@rvc5)
Posts: 3
Active Member
Topic starter
 

Amigos, tenho uma planilha chamada "OS2", que contem colunas de A a R, sendo que minha coluna O representa a checkbox no meu useform.

O que preciso é que quando eu marcar a checkbox e aparecer VERDADEIRO na coluna O da planilha "OS2", toda a linha seja copiada para a planilha "Consertado"(a qual é igualzinha a planilha "OS2") na primeira linha vazia,

e que ao desmarcar a mesma checkbox, a mesma linha seja apagada da planilha "Consertado", mas sem deixar a linha vazia, puxando as linhas preenchidas a baixo para cima.

Espero que tenha sido claro, desde já agradeço

 
Postado : 06/07/2013 11:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu lhe sugiro duas coisas usar a pesquisa do fórum e postar o arquivo modelo compactado!!

Att

 
Postado : 06/07/2013 4:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

RVC5, juntei os 2 Tópicos, por se tratarem do mesmo assunto, o que tambem enviei um exemplo, se tem dificuldades, favor continuar o assunto no Tópico aberto anteriormente, e não abrir outro, assim mantemos o Forum organizado.

Obs : Não utilize letras Maiusculas e nem com tamanhos fora do padrão normal, só destaque aquelas linhas ou palavras que achar necessário e nunca o texto inteiro no corpo da mensagem.

[]s

 
Postado : 07/07/2013 2:52 pm