Come unire le celle in excel utilizzando il codice vba

In VBA esiste un metodo “MERGE” che puoi utilizzare per unire un intervallo di celle o anche più intervalli in uno solo. Questo metodo ha un argomento “Across” che è facoltativo. Se specifichi TRUE, unirà ogni riga dell’intervallo separatamente e se specifichi FALSE, unirà l’intero intervallo in uno solo.

unisci e separa le celle usando vba

Passaggi per utilizzare VBA per unire le celle:

  1. Innanzitutto, devi definire l’intervallo di celle che desideri unire.
    define-the-range-of-a-cell-want-to-merge
  2. Successivamente, digita un punto (.) per ottenere l’elenco di proprietà e metodi e seleziona “Unisci” da quell’elenco oppure puoi digitarlo direttamente.
    type-a-dot-to-get-the-list-of-properties
  3. Successivamente, è necessario impostare l’argomento “Across” su TRUE o FALSE.
    define-the-argument-across
  4. Alla fine, esegui questo codice per unire l’intervallo.

Ecco il codice.

 Range("A1:A2").Merge False

E se vuoi unire le righe dell’intero intervallo, puoi utilizzare TRUE per l’argomento across.

digitare true se si desidera unire nell'intervallo
 Selection.Merge Across:=True

Nel codice sopra hai selezionato come intervallo, metodo di unione e across come true. E ha unito tutte le righe nell’intervallo selezionato.

Ora supponiamo che tu voglia unire l’intervallo di celle da un altro foglio di lavoro, non è necessario abilitarlo prima. Puoi semplicemente fare prima riferimento al foglio di calcolo e quindi utilizzare i metodi di unione con il rinnegato che desideri unire.

 Worksheets("Sheet1").Range("A1:A2").Merge

Allo stesso modo, puoi anche fare riferimento a una cartella di lavoro specificando il nome della cartella di lavoro.

 Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge

Unisci un intervallo e allinea il contenuto della cella

Ora quando unisci due o più celle, devi allineare il contenuto presente nella cella. Guarda l’istantanea qui sotto in cui hai unito le celle A1 e A2 e il valore nelle celle è allineato in basso. Per risolvere questo problema, puoi utilizzare la proprietà di allineamento e allineare il contenuto della cella al centro e al centro in modo che sia facile da leggere.

unisci un intervallo e allinea il contenuto della cella
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

Combina il testo e poi unisci

Parliamo di uno scenario di vita reale. Hai del testo in un intervallo di celle e devi unire quelle celle, ma non vuoi perdere il contenuto che hai. Bene, puoi scrivere un ciclo di codice sull’intero intervallo utilizzando ciascuno e combinare il testo e quindi aggiungerlo all’intervallo unito alla fine.

combina-test-e-unisci
  1. Nella prima parte, hai le variabili da utilizzare per memorizzare i valori dell’intervallo e impostarli.
  2. Nella seconda parte hai un LOOP per combinare i valori di ciascuna cella per creare con quella una nuova stringa.
  3. Nella terza parte, unisci l’intervallo, aggiungi la stringa combinata, applica il ritorno a capo automatico e allinea il contenuto della cella.

Ecco il codice completo.

 Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub

Aggiungi un commento

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