Articles

VBA – Selezionare (e lavorare con) intere righe e colonne – Automatizzare ExcelAutomatizzare Excel

Questo tutorial dimostrerà come selezionare e lavorare con intere righe o colonne in VBA.

Selezionare intere righe o colonne

Selezionare una singola riga

Puoi selezionare un’intera riga con l’oggetto Rows come questo:

Rows(5).Select

O puoi usare EntireRow insieme agli oggetti Range o Cells:

Range("B5").EntireRow.Select

o

Cells(5,1).EntireRow.Select

Si può anche usare l’oggetto Range per riferirsi specificamente ad una riga:

Range("5:5").Select

Seleziona una singola colonna

Invece dell’oggetto Righe, usa l’oggetto Colonne per selezionare le colonne. Qui potete fare riferimento alla colonna numero 3:

Columns(3).Select

o alla lettera “C”, circondata da virgolette:

Columns("C").Select

Invece di EntireRow, usate EntireColumn insieme agli oggetti Range o Cells per selezionare intere colonne:

Range("C5").EntireColumn.Select

o

Cells(5,3).EntireColumn.Select

Si può anche usare l’oggetto Range per riferirsi specificamente ad una colonna:

Range("B:B").Select

Selezionare più righe o colonne

Selezionare più righe o colonne funziona esattamente come quando si usa EntireRow o EntireColumn:

Range("B5:D10").EntireRow.Select

o

Range("B5:B10").EntireColumn.Select

Tuttavia, quando usate gli oggetti Rows o Columns, dovete inserire i numeri delle righe o le lettere delle colonne tra virgolette:

Rows("1:3").Select

oppure

Columns("B:C").Select

Seleziona la riga o la colonna di ActiveCell

Per selezionare la riga o la colonna di ActiveCell, puoi usare una di queste righe di codice:

ActiveCell.EntireRow.Select

o

ActiveCell.EntireColumn.Select

Seleziona Righe e Colonne su altri fogli di lavoro

Per selezionare Righe o Colonne su altri fogli di lavoro, devi prima selezionare il foglio di lavoro.

Sheets("Sheet2").SelectRows(3).Select

Lo stesso vale per la selezione di righe o colonne in altre cartelle di lavoro.

Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select

Nota: È necessario attivare la cartella di lavoro desiderata. A differenza dell’oggetto Fogli, l’oggetto Cartella di lavoro non ha un metodo Select.

Selezionare Righe e Colonne è necessario?

Tuttavia, non è (quasi?) mai necessario selezionare Righe o Colonne. Non è necessario selezionare una riga o una colonna per interagire con esse. Invece, si possono applicare metodi o proprietà direttamente alle righe o alle colonne. Le prossime sezioni dimostreranno diversi metodi e proprietà che possono essere applicati.

Puoi usare qualsiasi metodo elencato sopra per fare riferimento a Righe o Colonne.

Metodi e proprietà delle righe & Colonne

Cancellare intere righe o colonne

Per cancellare righe o colonne, usare il metodo Cancella:

Rows("1:4").Delete

o:

Columns("A:D").Delete

Inserire righe o colonne

Utilizzare il metodo Inserisci per inserire righe o colonne:

Rows("1:4").Insert

o:

Columns("A:D").Insert

Copia & Incolla intere righe o colonne

Incolla in una riga o colonna esistente

Quando copi e incolli intere righe o colonne hai bisogno di decidere se vuoi incollare sopra una riga / colonna esistente o se vuoi inserire una nuova riga / colonna per incollare i tuoi dati.

Questi primi esempi copieranno e incolleranno sopra una riga o colonna esistente:

Range("1:1").Copy Range("5:5")

o

Range("C:C").Copy Range("E:E")

Insert & Paste

I prossimi esempi incolleranno in una riga o colonna appena inserita.

Questo copierà la riga 1 e la inserirà nella riga 5, spostando le righe esistenti in basso:

Range("1:1").CopyRange("5:5").Insert

Questo copierà la colonna C e la inserirà nella colonna E, spostando le colonne esistenti a destra:

Range("C:C").CopyRange("E:E").Insert

Nascondi / Deseleziona righe e colonne

Per nascondere righe o colonne imposta le loro proprietà nascoste su True. Usa False per nascondere le righe o le colonne:

'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False

o

'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False

Group / UnGroup Rows and Columns

Se vuoi raggruppare righe (o colonne) usa un codice come questo:

'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group

Per rimuovere il raggruppamento usa questo codice:

'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup

Questo espanderà tutti i livelli di contorno “raggruppati”:

ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8

e questo farà collassare tutti i livelli di contorno:

ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1

Imposta l’altezza della riga o la larghezza della colonna

Per impostare la larghezza della colonna usare questa linea di codice:

Columns("A:E").ColumnWidth = 30

Per impostare l’altezza della riga usare questa linea di codice:

Rows("1:1").RowHeight = 30

Autofit Row Height / Column Width

Per Autofittare una colonna:

Columns("A:B").Autofit

Per Autofittare una riga:

Rows("1:2").Autofit

Righe e colonne su altri fogli di lavoro o cartelle di lavoro

Per interagire con righe e colonne su altri fogli di lavoro, è necessario definire l’oggetto Fogli:

Sheets("Sheet2").Rows(3).Insert

Analogamente, per interagire con righe e colonne in altre cartelle di lavoro, è necessario definire anche l’oggetto Cartella di lavoro:

Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert

Rileva riga o colonna attiva

Per ottenere la riga o colonna attiva, è possibile utilizzare le proprietà riga e colonna dell’oggetto ActiveCell.

MsgBox ActiveCell.Row

o

MsgBox ActiveCell.Column

Questo funziona anche con l’oggetto Range:

MsgBox Range("B3").Column

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *