Hoe cellen in excel samen te voegen met behulp van vba-code

In VBA is er een “MERGE”-methode die u kunt gebruiken om een celbereik of zelfs meerdere bereiken samen te voegen tot één celbereik. Deze methode heeft een ‘Across’-argument dat optioneel is. Als u TRUE opgeeft, wordt elke rij in het bereik afzonderlijk samengevoegd, en als u FALSE opgeeft, wordt het hele bereik samengevoegd tot één rij.

cellen samenvoegen en degroeperen met vba

Stappen om VBA te gebruiken om cellen samen te voegen:

  1. Eerst moet u het cellenbereik definiëren dat u wilt samenvoegen.
    define-the-range-of-a-cell-want-to-merge
  2. Typ daarna een punt (.) om de lijst met eigenschappen en methoden te krijgen en selecteer “Samenvoegen” uit die lijst, of u kunt het rechtstreeks typen.
    type-a-dot-to-get-the-list-of-properties
  3. Daarna moet u het argument “Across” instellen op TRUE of FALSE.
    define-the-argument-across
  4. Voer aan het einde deze code uit om het bereik samen te voegen.

Hier is de code.

 Range("A1:A2").Merge False

En als u rijen over het hele bereik wilt samenvoegen, kunt u TRUE gebruiken voor het argument across.

typ-true-als-u-binnen-bereik-wilt-samenvoegen
 Selection.Merge Across:=True

In de bovenstaande code moet je selecteren als bereik, samenvoegmethode en over als waar. En het heeft alle rijen in het geselecteerde bereik samengevoegd.

Stel dat u het celbereik van een ander werkblad wilt samenvoegen. U hoeft dit niet eerst in te schakelen. U kunt eenvoudigweg eerst naar de spreadsheet verwijzen en vervolgens de samenvoegmethoden gebruiken met de verwerping die u wilt samenvoegen.

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

Op dezelfde manier kunt u ook naar een werkmap verwijzen door de naam van de werkmap op te geven.

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

Voeg een bereik samen en lijn de celinhoud uit

Wanneer u nu twee of meer cellen samenvoegt, moet u de inhoud in de cel uitlijnen. Kijk naar de onderstaande momentopname waar u de cellen A1 en A2 hebt samengevoegd en de waarde in de cellen onderaan is uitgelijnd. Om dit probleem op te lossen, kunt u de uitlijningseigenschap gebruiken en de celinhoud in het midden en midden uitlijnen, zodat u deze gemakkelijk kunt lezen.

een bereik samenvoegen en de celinhoud uitlijnen
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

Combineer tekst en voeg vervolgens samen

Laten we het hebben over een realistisch scenario. U hebt tekst in een celbereik en u moet deze cellen samenvoegen, maar u wilt de inhoud die u heeft niet kwijtraken. Welnu, je kunt met elk een codelus over het hele bereik schrijven en tekst combineren en deze aan het einde aan het samengevoegde bereik toevoegen.

combineer-test-en-samenvoegen
  1. In het eerste deel heb je variabelen die je kunt gebruiken om bereikwaarden op te slaan en zichzelf in te stellen.
  2. In het tweede deel heb je een LOOP om de waarden van elke cel te combineren om daarmee een nieuwe string te creëren.
  3. In het derde deel voegt u het bereik samen, voegt u de gecombineerde tekenreeks toe, past u woordomloop toe en lijnt u de celinhoud uit.

Hier is de volledige code.

 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

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *