Página 1 de 1

VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 09:41
por lcbispo
Bom dia Pessoal,

Estou precisando de uma ajudinha! Como vocês são feras... não terão problema em fazer uma vba, conforme planilha em anexo.

Grato pela ajuda de todos....

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 10:02
por RCA
Sub Demitido()

dim ultLinha as integer, linha as integer

ultLinha = Sheets("Cad1").Range("C1048576").end(xlup).row
for linha = 10 to ultLinha
if sheets("Cad1").range("I" & linha).value = "Demitido" then
Worksheets("Cad1").range("C" & linha & ":I" & linha).copy Worksheets("Cad2").range("C" & linha & ":I" & linha)
end if

End sub

Sou apenas um curioso em VBA, as acho que esse código pode resolver teu problema.

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 11:12
por osvaldomp
Experimente:
Código: Selecionar todos
Sub ReplicaDemitidos()
  Application.ScreenUpdating = False
  Sheets("Cad2").Cells = ""
   On Error Resume Next
   ActiveSheet.ShowAllData
   On Error GoTo 0
   [C9:I9].AutoFilter 7, "DEMITIDO"
   If ActiveSheet.AutoFilter.Range.Columns(9).SpecialCells(12).Count > 1 Then
     Range("C9:I" & Cells(Rows.Count, 3).End(3).Row).Copy Sheets("Cad2").[A1]
   End If
   ActiveSheet.ShowAllData
End Sub

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 12:00
por lcbispo
RCA, erro for sem next.

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 12:01
por lcbispo
Osvaldomp, tem como copiar e colar na planilha cad2 e excluir da planilha cad1

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 13:52
por osvaldomp
lcbispo escreveu: 25 Ago 2021 às 12:01 Osvaldomp, tem como copiar e colar na planilha cad2 e excluir da planilha cad1
Sim, veja abaixo. Porém isso vai provocar erro nas fórmulas da coluna C.
Acrescente a linha em vermelho conforme abaixo.
Range("C9:I" & Cells(Rows.Count, 3).End(3).Row).Copy Sheets("Cad2").[A1]
Range("C10:I" & Cells(Rows.Count, 3).End(3).Row).EntireRow.Delete
End If

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 14:13
por lcbispo
Osvaldo, uma duvida:
- Quando eu faço a exclusão , o codigo deleta todas as informações da planilha cad2 e deixa a ultima informação. Teria que ficar todas as informações.

Re: VBA copiar a linha e colar em outra

Enviado: 25 Ago 2021 às 14:24
por osvaldomp
Utilize este abaixo no lugar do anterior.
Inicialmente coloque na Cad2 somente os cabeçalhos na linha 1, a partir de A1.
Código: Selecionar todos
Sub ReplicaDemitidos()
  Application.ScreenUpdating = False
   On Error Resume Next
   ActiveSheet.ShowAllData
   On Error GoTo 0
   [C9:I9].AutoFilter 7, "DEMITIDO"
   If ActiveSheet.AutoFilter.Range.Columns(9).SpecialCells(12).Count > 1 Then
    Range("C10:I" & Cells(Rows.Count, 3).End(3).Row).Copy Sheets("Cad2").Cells(Rows.Count, 1).End(3)(2)
    Range("C10:I" & Cells(Rows.Count, 3).End(3).Row).EntireRow.Delete
   End If
   ActiveSheet.ShowAllData
End Sub

Re: VBA copiar a linha e colar em outra

Enviado: 26 Ago 2021 às 06:40
por lcbispo
Osvaldo, Bom dia meu amigo!
Quando faço a exclusão pela primeira vez para a planilha cad2 vai sem formula, até ai perfeito! mas quando lanço uma nova demissão e faço a exclusão ele vai com formulas.

Re: VBA copiar a linha e colar em outra

Enviado: 26 Ago 2021 às 09:00
por osvaldomp
Verdade, sorry.

Substitua esta linha
Código: Selecionar todos
Range("C10:I" & Cells(Rows.Count, 3).End(3).Row).Copy Sheets("Cad2").Cells(Rows.Count, 1).End(3)(2)
#
por estas duas
Código: Selecionar todos
Range("C10:I" & Cells(Rows.Count, 3).End(3).Row).Copy
Sheets("Cad2").Cells(Rows.Count, 1).End(3)(2).PasteSpecial xlValues
#
Formate manualmente as colunas D e E da Cad2 como data, se necessário.

Re: VBA copiar a linha e colar em outra

Enviado: 26 Ago 2021 às 10:16
por lcbispo
Osvaldo, Perfeito! esta rodando legal.
Grato pela atenção.