Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arrays verbinden

Arrays verbinden
Bertram
Hallo zusammen,
ich habe mir folgenden (Beispiel-)Code gestrickt, der zwei Arrays verbindet. Kann man Arrays auch einfacher zusammenfügen oder muss ich das so machen?
Sub ttt()
Dim strTo As Variant
Dim strPSM As Variant
Dim i As Integer
Dim OG As Integer
strPSM = Split("D,E", ",")
strTo = Array("A", "B", "C")
OG = UBound(strTo) + 1
ReDim Preserve strTo(OG + UBound(strPSM))
For i = 0 To UBound(strPSM)
strTo(i + OG) = strPSM(i)
Next i
End Sub
Gruß
Bertram
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arrays verbinden
05.10.2009 11:57:17
JogyB
Hi.
Schau mal hier.
http://www.vbarchiv.net/tipps/tipp_1953.html
Im Einleitungssatz ist noch ein Verweis auf eine andere Version, die etwas einfacher verständlich, aber vermutlich deutlich langsamer ist.
Gruss, Jogy
AW: Arrays verbinden
05.10.2009 12:20:10
Bertram
Hallo Jogy,
danke, werde mir den Link mal zu Gemüte führen.
Gruß
Bertram
Anzeige
AW: Arrays verbinden
05.10.2009 12:00:19
Rudi
Hallo,
bei eindimensionalen Arrays kannst du das auch so machen:
Sub ttt()
Dim strTo As Variant
Dim strPSM As Variant
strPSM = Split("D,E", ",")
strTo = Array("A", "B", "C")
strTo = Split(Join(strTo, ";") & ";" & Join(strPSM, ";"), ";")
End Sub

Gruß
Rudi
Anzeige
AW: Arrays verbinden
05.10.2009 12:22:30
Bertram
Hallo Rudi,
auf 'Join' bin ich gar nicht gekommen. Danke dir, das wäre für meinen Fall die einfachste Lösung.
Gruß
Bertram
;
Anzeige
Anzeige

Infobox / Tutorial

Arrays in Excel zusammenfügen: So geht's


Schritt-für-Schritt-Anleitung

Um in Excel zwei Arrays zusammenzufügen, kannst Du die VBA-Programmiersprache verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub ttt()
       Dim strTo As Variant
       Dim strPSM As Variant
       strPSM = Split("D,E", ",")
       strTo = Array("A", "B", "C")
       strTo = Split(Join(strTo, ";") & ";" & Join(strPSM, ";"), ";")
    End Sub
  4. Führe das Makro aus: Drücke F5 oder klicke auf Ausführen.

Dieser Code verwendet die Join-Funktion, um die beiden Arrays zusammenzufügen.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht übereinstimmend"

    • Lösung: Stelle sicher, dass beide Arrays denselben Datentyp haben.
  • Fehler: Das Makro läuft nicht.

    • Lösung: Überprüfe, ob das Makro in der richtigen Arbeitsmappe ausgeführt wird und ob die Makros in Excel aktiviert sind.

Alternative Methoden

Wenn Du Excel ohne VBA verwenden möchtest, kannst Du die Funktion TEXTVERKETTEN (in neueren Versionen von Excel) nutzen, um Werte zusammenzufügen. Eine einfache Formel könnte so aussehen:

=TEXTVERKETTEN(";", WAHR, A1:A3, D1:D2)

Hierbei wird der Inhalt der Bereiche A1:A3 und D1:D2 zusammengefügt.


Praktische Beispiele

Angenommen, Du möchtest die Arrays {"A", "B", "C"} und {"D", "E"} zusammenfügen. Mit dem VBA-Code aus der Schritt-für-Schritt-Anleitung erhältst Du:

  • Ergebnis: {"A", "B", "C", "D", "E"}

Wenn Du die TEXTVERKETTEN-Funktion verwendest, könnte die Formel so aussehen:

=TEXTVERKETTEN(";", WAHR, A1:A3, D1:D2)

Hierbei wird das Ergebnis in einer Zelle angezeigt.


Tipps für Profis

  • Performance: Bei großen Arrays kann die Join-Methode deutlich schneller sein als das manuelle Zusammenfügen mit Schleifen.
  • Flexibilität: Überlege, ob Du die Arrays dynamisch gestalten möchtest, indem Du Eingabewerte aus einem Arbeitsblatt verwendest.

FAQ: Häufige Fragen

1. Wie kann ich zwei Arrays in Excel zusammenfügen, ohne VBA zu verwenden?
Du kannst die Funktion TEXTVERKETTEN in Excel nutzen, um Werte aus verschiedenen Zellen zusammenzufügen.

2. Ist es möglich, mehr als zwei Arrays zusammenzufügen?
Ja, Du kannst beliebig viele Arrays zusammenfügen, indem Du die Join-Funktion mehrmals anwendest oder mehrere Bereiche in der TEXTVERKETTEN-Funktion verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige