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

Forumthread: Spalten trennen bei Massendaten

Spalten trennen bei Massendaten
22.09.2014 11:42:25
A.
Guten Tag,
ich habe eine Frage: wie kann ich bei einer Spalte mit mehreren gleichen Einträgen, diese auf zwei Spalten verteilen:
Spalte 1
Zürich (710)
Basel (740)
Bern (750)
Dies soll nacher wie folgt aussehen
Spalte 2
Zürich
Basel
Bern
Spalte 3
710
740
750
Vielen Dank!

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten trennen bei Massendaten
22.09.2014 11:51:43
Hajo_Zi
Daten Text in Spalte, Trennzeichen ( und Strg+H ) ersetzen durch ""

AW: Spalten trennen bei Massendaten
22.09.2014 12:28:45
Peter
Hallo A. Oeschger,
das könnte so funktionieren - Annahme: Deine Daten stehen in Spalte A ab Zeile 2
Option Explicit
Public Sub Aufteilen()
Dim WkSh        As Worksheet
Dim VEingabe    As Variant
Dim vAusgabe()  As Variant
Dim lZeile_E    As Long
Dim lZeile_A    As Long
Dim lLetzte     As Long
Dim iPosition   As Integer
Dim vTemp       As Variant
Set WkSh = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
lLetzte = WkSh.Cells(WkSh.Rows.Count, 1).End(xlUp).Row
VEingabe = WkSh.Range("A2:A" & lLetzte)
ReDim vAusgabe(1 To lLetzte, 1 To 2)
For lZeile_E = LBound(VEingabe) To UBound(VEingabe)
If VEingabe(lZeile_E, 1)  "" Then
lZeile_A = lZeile_A + 1
iPosition = InStr(VEingabe(lZeile_E, 1), "(")
vAusgabe(lZeile_A, 1) = Trim$(Left(VEingabe(lZeile_E, 1), iPosition - 2))
vTemp = Split(VEingabe(lZeile_E, 1), "(")
vTemp(1) = Replace(vTemp(1), ")", "")
vAusgabe(lZeile_A, 2) = Trim$(vTemp(1))
End If
Next lZeile_E
Range("B2:C" & lZeile_A + 1) = vAusgabe
End Sub
Gruß Peter

Anzeige
AW: Spalten trennen bei Massendaten
22.09.2014 13:24:48
Peter
Hallo A. Oeschger,
noch etwas kürzer:
Public Sub Aufteilen()
Dim WkSh        As Worksheet
Dim VEingabe    As Variant
Dim vAusgabe()  As Variant
Dim lZeile_E    As Long
Dim lZeile_A    As Long
Dim lLetzte     As Long
Dim iPosition   As Integer
Dim vTemp       As Variant
Set WkSh = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
lLetzte = WkSh.Cells(WkSh.Rows.Count, 1).End(xlUp).Row
VEingabe = WkSh.Range("A2:A" & lLetzte)
ReDim vAusgabe(1 To lLetzte, 1 To 2)
For lZeile_E = LBound(VEingabe) To UBound(VEingabe)
If VEingabe(lZeile_E, 1)  "" Then
lZeile_A = lZeile_A + 1
vTemp = Split(VEingabe(lZeile_E, 1), "(")
vAusgabe(lZeile_A, 1) = Trim$(vTemp(0))
vTemp(1) = Replace(vTemp(1), ")", "")
vAusgabe(lZeile_A, 2) = Trim$(vTemp(1))
End If
Next lZeile_E
Range("B2:C" & lZeile_A + 1) = vAusgabe ' +1, weil in Zeile 2 begonnen wird
End Sub
Gruß Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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