Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Trennen von Zellinhalten - Text in Spalten

Dieses Beispiel zeigt, wie Zellinhalte die sich fortlaufend in einer Zelle befinden getrennt werden können. Voraussetzung ist, dass die einzelnen Elemente durch ein beliebiges Trennzeichen separiert wurden, siehe Abbildung 1.


Abb. 1

Wenn Daten z. B. von einer Webseite oder anderen Quellen kopiert werden, kann es zu dieser Darstellung kommen. Wenn mit den kopierten Daten allerdings weitergearbeitet werden sollen, müssen diese zunächst in einzelne Zellen aufgeteilt werden.

Dazu bietet Excel den Standardbefehl Daten / Datentools / Text in Spalten. Mit diesem Befehl kann der Zellinhalt wie gewünscht in einzelne Zellen aufgeteilt werden. Wenn der Befehl für die Zelle A4 ausgeführt wird, steht in B4 der Wert 1, in C4 der Wert 5, in D4 der Wert 9 usw. Mit dieser Methode lassen sich alle Elemente, die sich in einer Zelle befinden, wunderbar in einzelne Zellen überführen.

Wenn es allerdings darum geht, viele Zeilen auf diese Weise zu trennen, kann es mit dieser manuellen Methode ganz schön aufwändig werden.

Mit Hilfe des folgenden VBA-Makros lässt sich dies aber weitgehend automatisieren. Das Makro liest Zelle für Zelle beginnend in A4 bis zu A7, um anschließend jedes Element der jeweiligen Zelle auszulesen und ab Zelle C4 in die Ergebnisspalte einzutragen.

Sub Zellinhalt_trennen()
'** Trennen von Zellinhalten an einem vorgegebenen Trennzeichen

'** Dimensionierung der Variablen
Dim lngZ As Long
Dim strTeilstring()   As String
Dim strTrennzeichen As String

'** Vorgaben definieren
Set wsakt = ThisWorkbook.Sheets("Daten")
lngZ = 4 'Startzeile
strTrennzeichen = ";" 'Trennzeichen festlegen z.B. Komma(,) Semikollon(;) Bindestrich(-) etc.

'** Durchlaufen aller Datenzeilen
For x = 4 To 7

  '** Teilstring am Delimiter auslesen
  strTeilstring = Split(Trim(wsakt.Cells(x, 1).Value), strTrennzeichen)
      
  '** Durchlaufen des gesamten Arrays einer Zelle vom ersten bis zum letzten Wert
  For a = LBound(strTeilstring) To UBound(strTeilstring)
    
    '** Array-Elemente nacheinander eintragen
    wsakt.Cells(lngZ, 3).Value = Trim(strTeilstring(a))
    
    '** Zeilenzähler erhöhen
    lngZ = lngZ + 1
      
  Next a

Next x

End Sub

Das Ergebnis sehen Sie in Abbildung 2.


Abb. 2

Nach Ausführung des Makros wurde jeder einzelne Wert der Zellen A4 bis A7 ausgelesen und ab Zelle C4 nacheinander eingetragen.

Wenn im Datenbereich ein anderes Trennzeichen, als im Beispiel das Semikolon verwendet wird, kann dies ganz einfach im VBA-Code geändert werden. Erfassen Sie dazu einfach in dieser VBA-Zeile ein anderes Trennzeichen, z. B. das Komma.

strTrennzeichen = "," 'Trennzeichen festlegen z.B. Komma(,) Semikollon(;) Bindestrich(-) etc.

 

   

Relevante Artikel

  • Daten sofort bei Eingabe sortieren

    101080 Das nachfolgende Makro sortiert alle in einem Tabellenblatt eingegebenen Werte automatisch nach den Werten der Spalte A aufsteigend. Dabei werden die Zellen A1 bis A100 berücksichtigt. Die...

  • Zahlen aus Text extrahieren

      Aufgabenstellung: In einer Liste (Zellbereich A1:A10) sind Texte mit Ziffernenthalten, siehe folgende Abbildung. A 1 Der Preis Beträgt 25 Euro für diesen Artikel. 2 Der Preis Beträgt 55 Euro für diesen...

  • Bilder in Zellen importieren

    Per VBA lassen sich Bilder aus einem angegebenen Verzeichnis auslesen und importieren. Die vorgestellte Prozedur liest die Bilder aus dem eingestellten Verzeichnis "F:\Pic" aus. Die im Verzeichnis...

  • Gesperrte Zellen markieren bzw. einfärben

    101085 Mit dem folgenden Makro können sie alle gesperrten Zellen mit roter Hintergrundfarbe im selektierten Bereich kennzeichnen. Public Sub gesperrte_Zellen_einfärben() Dim addr As String Dim zelle As...

  • Absolute in relative Zellbezüge umwandeln und umgekehrt

    101067 Die folgenden Makros wandeln vorhandene Zellbezüge in absolute bzw. relative Bezüge um. Zur Umwandlung von relativen Zellbezüge in absolute Bezüge, kann das Makro "absolut" verwendet...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013