Come inserire colonne utilizzando vba?

In questo tutorial vedremo come inserire una colonna utilizzando il codice VBA in Excel. Esploreremo anche quali sono i diversi modi per scrivere una macro per questo.

Inserisci una singola colonna utilizzando VBA

Per inserire una colonna utilizzando il codice VBA è necessario utilizzare la proprietà “Colonna intera” con il metodo “Inserisci”. Con la proprietà intera colonna, puoi fare riferimento all’intera colonna utilizzando una cella e quindi inserire una nuova colonna. Per impostazione predefinita inserirà una colonna prima della cella che hai menzionato.

inserisci una singola colonna usando vba
  1. Innanzitutto, specifica una cella utilizzando l’oggetto intervallo.
  2. Ora inserisci un punto (.) per ottenere l’elenco di proprietà e metodi.
  3. Successivamente, seleziona la proprietà “Intera colonna” o digitala.
  4. Alla fine, inserisci nuovamente un punto (.) e seleziona il metodo “Inserisci” o digitalo.
 Range("A1").EntireColumn.Insert

Il tuo codice è pronto qui per inserire una colonna. Ora quando esegui questo codice viene immediatamente inserita una nuova colonna prima della colonna A.

Inserisci più colonne

Esistono due modi per inserire più colonne in un foglio di calcolo che ho trovato. Il primo è lo stesso metodo di inserimento utilizzato nell’esempio precedente. Con questo, devi specificare un intervallo di colonne il cui numero è uguale al numero della colonna che desideri inserire.

Supponiamo ora di voler inserire 5 colonne dopo la colonna C nel caso in cui sia possibile utilizzare un codice come questo.

inserire più colonne
 Range("C:G").EntireColumn.Insert

Ad essere sincero, non ho trovato questo metodo molto utile perché devi cambiare l’intervallo se vuoi cambiare il codice stesso. Quindi, ecco il secondo metodo.

 'variables to use in the code Dim iCol As Long Dim iCount As Long Dim i As Long 'to get the number of columns that you want to insert with an input box iCount = InputBox(Prompt:="How many column you want to add?") 'to get the column number where you want to insert the new column iCol = InputBox _ (Prompt:= _ "After which column you want to add new column? (Enter the column number)") 'loop to insert new column(s) For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i

Quando esegui questo codice, ti viene chiesto di inserire il numero di colonne che desideri aggiungere e quindi il numero di colonna in cui desideri aggiungere tutte queste nuove colonne. Utilizza un ciclo FOR (For Next) per inserire il numero di colonne che hai menzionato.

Inserisci colonne in base ai valori della cella

Se desideri inserire colonne in base al valore di una cella, puoi utilizzare il seguente codice.

 Dim iCol As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iCol = Range("B1").Value For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i

Quando esegui questa macro, prende il numero di colonne dalla cella A1 e la colonna a cui desideri aggiungere colonne dalla cella B1.

Inserisci una colonna senza formattazione

Quando inserisci una colonna in cui la colonna sopra ha una formattazione specifica, in tal caso anche la colonna avrà automaticamente quella formattazione. E il modo più semplice per gestire questa situazione è utilizzare formati chiari. Considera il seguente codice.

 Columns(7).EntireColumn.Insert Columns(7).ClearFormats

Quando esegui il codice sopra, inserisce una nuova colonna prima della settima colonna. Ora quello che succede è che quando inserisci una colonna prima della settima colonna, questa nuova colonna diventa la settima colonna, quindi la seconda riga di codice ne cancella i formati.

Inserisci una colonna copiata

Puoi anche utilizzare lo stesso metodo per copiare una colonna e quindi inserirla altrove. Vedere il codice seguente.

 Application.CutCopyMode = False With Worksheets("Data") .Columns(5).Copy .Columns(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True

Aggiungi un commento

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