Vba: como copiar linhas visíveis para outra planilha


Você pode usar a seguinte sintaxe no VBA para copiar apenas linhas visíveis de uma planilha para outra:

 SubCopyVisibleRows ()

    Dim sourceWS As Worksheet
    Dim destinationWS As Worksheet
    
    Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
    Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")

    sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
    destinationWS.Cells(1, 1).PasteSpecial
    Application.CutCopyMode = False
   
End Sub

Esta macro específica irá copiar cada linha visível no intervalo A1:D999 de Sheet1 e colá-las começando na célula A1 de Sheet2 .

Nota : A linha Application.CutCopyMode = False especifica que o modo recortar e copiar deve ser desabilitado após a execução da macro.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: copie linhas visíveis para outra planilha usando VBA

Suponha que temos o seguinte conjunto de dados na Planilha 1 , que contém informações sobre vários jogadores de basquete:

Agora suponha que aplicamos um filtro ao conjunto de dados para mostrar apenas as linhas onde o nome do time é igual a Mavs ou Spurs:

Agora, digamos que queremos usar o VBA para copiar apenas células visíveis da Planilha1 para a Planilha2.

Podemos criar a seguinte macro para fazer isso:

 SubCopyVisibleRows ()

    Dim sourceWS As Worksheet
    Dim destinationWS As Worksheet
    
    Set sourceWS = ThisWorkbook.Sheets(" Sheet1 ")
    Set destinationWS = ThisWorkbook.Sheets(" Sheet2 ")

    sourceWS.Range(" A1:D999 ").SpecialCells(xlCellTypeVisible).Copy
    destinationWS.Cells(1, 1).PasteSpecial
    Application.CutCopyMode = False
   
End Sub

Quando executamos esta macro, recebemos a seguinte saída em Sheet2 :

Observe que todas as linhas visíveis em Sheet1 foram copiadas e coladas em Sheet2 .

Nota nº 1 : usamos xlCellTypeVisible na macro para especificar que queríamos apenas copiar células visíveis.

Nota nº 2 : você pode encontrar a documentação completa para o método VBA Copy aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como encontrar a última linha usada
VBA: copie linhas para outra planilha com base em critérios
VBA: Como colar valores apenas sem formatação

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *