VBA – Seleccionar (e trabalhar com) Linhas e Colunas Inteiras – Automatizar ExcelAutomate Excel
Este tutorial irá demonstrar como seleccionar e trabalhar com linhas ou colunas inteiras em VBA.
P>Primeiro iremos cobrir como seleccionar linhas e colunas inteiras, depois iremos demonstrar como manipular linhas e colunas.
Seleccionar Linhas ou Colunas Inteiras
Seleccionar Linha Única
P>Pode seleccionar uma linha inteira com o objecto Linhas como esta:
Rows(5).Select
Or pode utilizar o EntireRow juntamente com os Objectos de Linhas ou Células:
Range("B5").EntireRow.Select
ou
Cells(5,1).EntireRow.Select
P>Tambem pode usar o Objecto de Alcance para se referir especificamente a uma Linha:
Range("5:5").Select
Seleccionar uma única coluna
Em vez do Objecto de Linhas, utilizar o Objecto de Colunas para seleccionar colunas. Aqui pode fazer referência à coluna número 3:
Columns(3).Select
ou letra “C”, rodeada por citações:
Columns("C").Select
Em vez do EntireRow, utilizar o EntireColumn juntamente com os Objectos de Intervalo ou Células para seleccionar colunas inteiras:
Range("C5").EntireColumn.Select
ou
Cells(5,3).EntireColumn.Select
Também pode usar o Objecto de Intervalo para se referir especificamente a uma coluna:
Range("B:B").Select
Seleccionar várias linhas ou colunas
Seleccionar várias linhas ou colunas funciona exactamente da mesma forma quando se usa EntireRow ou EntireColumn:
Range("B5:D10").EntireRow.Select
ou
Range("B5:B10").EntireColumn.Select
No entanto, quando se utilizam os Objectos Linhas ou Colunas, é necessário introduzir os números das linhas ou letras das colunas nas citações:
Rows("1:3").Select
ou
Columns("B:C").Select
Seleccionar a Linha ou Coluna ActiveCell
Para seleccionar a Linha ou Coluna ActiveCell, pode usar uma destas linhas de código:
ActiveCell.EntireRow.Select
ou
ActiveCell.EntireColumn.Select
Seleccionar linhas e colunas em outras folhas de trabalho
Para seleccionar Linhas ou Colunas em outras folhas de trabalho, deve primeiro seleccionar a folha de trabalho.
Sheets("Sheet2").SelectRows(3).Select
O mesmo se aplica à selecção de linhas ou colunas noutras folhas de trabalho.
Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select
Nota: Deve Activar a folha de trabalho desejada. Ao contrário do objecto Folhas, o objecto Livro de Trabalho não tem um Método de Selecção.
Is Selecting Rows and Columns Necesary?
No entanto, (quase?) nunca é necessário seleccionar Linhas ou Colunas. Não é necessário seleccionar uma Fila ou Coluna para interagir com elas. Em vez disso, pode aplicar Métodos ou Propriedades directamente às Linhas ou Colunas. As várias secções seguintes demonstrarão diferentes Métodos e Propriedades que podem ser aplicados.
Pode usar qualquer método listado acima para se referir a Linhas ou Colunas.
Métodos e Propriedades das Linhas & Colunas
Apagar Linhas ou Colunas inteiras
Para apagar linhas ou colunas, usar o Método Apagar:
Rows("1:4").Delete
ou:
Columns("A:D").Delete
Inserir Linhas ou Colunas
Utilizar o Método Inserir para inserir linhas ou colunas:
Rows("1:4").Insert
ou:
Columns("A:D").Insert
Cópia & Colar Linhas ou Colunas Inteiras
Colar em Linhas ou Colunas Existentes
Ao copiar e colar linhas ou colunas inteiras é necessário decidir se pretende colar sobre uma linha / coluna existente ou se pretende inserir uma nova linha / coluna para colar os seus dados.
Estes primeiros exemplos irão copiar e colar sobre uma linha ou coluna existente:
Range("1:1").Copy Range("5:5")
ou
Range("C:C").Copy Range("E:E")
Inserir & Colar
Estes próximos exemplos irão colar numa linha ou coluna recentemente inserida.
Isto irá copiar a linha 1 e inseri-la na linha 5, deslocando as linhas existentes para baixo:
Range("1:1").CopyRange("5:5").Insert
Isto irá copiar a coluna C e inseri-la na coluna E, deslocando as colunas existentes para a direita:
Range("C:C").CopyRange("E:E").Insert
Esconder / Esconder Linhas e Colunas
Para ocultar linhas ou colunas definir as suas Propriedades Ocultas para Verdadeiro. Usar Falso para ocultar as linhas ou colunas:
'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False
ou
'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False
Grupo / Desagrupar Linhas e Colunas
Se quiser agrupar linhas (ou colunas) usar código como este:
'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group
Para remover o agrupamento utilize este código:
'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup
Isto irá expandir todos os níveis de esboço “agrupados”:
ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
e isto irá colapsar todos os níveis de esboço:
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
Definir altura de linha ou largura de coluna
Para definir a largura da coluna usar esta linha de código:
Columns("A:E").ColumnWidth = 30
Para definir a altura da linha usar esta linha de código:
Rows("1:1").RowHeight = 30
Autofit Altura da Linha / Largura da Coluna
Para Autoajustar uma coluna:
Columns("A:B").Autofit
Para Autoajustar uma linha:
Rows("1:2").Autofit
Linhas e Colunas em Outras Folhas de Trabalho ou Livros de Trabalho
Para interagir com linhas e colunas em outras folhas de trabalho, é necessário definir o Objecto das Folhas:
Sheets("Sheet2").Rows(3).Insert
Simplesmente, para interagir com linhas e colunas em outras folhas de trabalho, deve também definir o Objecto da Folha de Trabalho:
Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert
Ativar Linha ou Coluna
Para obter a linha ou coluna ativa, pode usar as Propriedades de Linha e Coluna do Objecto ActiveCell.
MsgBox ActiveCell.Row
ou
MsgBox ActiveCell.Column
Isto também funciona com o Objecto de Intervalo:
MsgBox Range("B3").Column