Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte aus 2 Zellen in mehrer Zellen transformieren

Werte aus 2 Zellen in mehrer Zellen transformieren
12.04.2017 09:37:00
Julian
Guten Tag zusammen,
ich habe folgende Tabelle1:
A1: Orangenkorb1 B1: Orange_1, Orange_2
A2: Orangenkorb2 B2: Orange_1, Orange_3, Orange_4
A3: Orangenkorb3 B3: Orange_2, Orange_3
Ich möchte Tabelle1 mit folgendem Ergebnis in Tabelle2 transformieren:
A1: Orangenkorb1 B1: 1
A2: Orangenkorb1 B2: 2
A3: Orangenkorb2 B3: 1
A4: Orangenkorb2 B4: 3
A5: Orangenkorb2 B5: 4
A6: Orangenkorb3 B6: 2
A7: Orangenkorb3 B7: 3
Kann mir dazu jemand mittels VBA weiterhelfen? Vorab schon mal vielen Dank für eure Hilfe.
VG
Julian
Ps. Um die Werte aus Spalte B zu transformieren wurde mir bereits aus diesem Forum mit folgendem VBA-Code geholfen, der auch super funktioniert:
Function IntText(ByVal Bereich As Range)
Dim regex As Object, newText, out
Set regex = CreateObject("vbscript.regexp")
newText = Join(Application.Transpose(Bereich.Value))
With regex
.Pattern = "(.*?)(\_)(\d+)"
.Global = True
out = Split(.Replace(newText, "/$3"), "/")
IntText = out
End With
End Function

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

Betreff
Datum
Anwender
Anzeige
AW: Werte aus 2 Zellen in mehrer Zellen transformieren
12.04.2017 11:21:49
Julian
Hallo Michael,
wow - funktioniert wie von mir erhofft! Danke und noch einen schönen Tag :-)
VG
Julian
Gern, Danke für die nette Rückmeldung, owT
12.04.2017 11:55:46
Michael
AW: Gern, Danke für die nette Rückmeldung, owT
12.04.2017 12:29:09
Julian
Für folgende User die das Script auch benutzen möchten, habe ich zwei Erweiterungen/Anmerkungen.
1. Ich lasse vor jeder Ausführung mit .ClearContents die bereits erstellten Daten "leeren", sodass es nicht zu Redundanzen kommt.
2. Um bspw. Spalte E anstelle von Spalte B auszulesen, muss im Script die entsprechende Spaltennummer 2x geändert werden (in diesem Fall 5).
Änderungen zum Script von Michael habe ich fett markiert.
Sub Obstkorb()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("Tabelle1")
Dim WsZ As Worksheet: Set WsZ = Wb.Worksheets("Tabelle2")
Dim DatenAlt, RegEx As Object, AlleOrangen, Orange
Dim i&, j&
WsZ.Range("A:B").ClearContents
DatenAlt = WsQ.Range(WsQ.Cells(2, 1), WsQ.Cells(WsQ.Rows.Count, 5).End(xlUp))
Set RegEx = CreateObject("vbscript.regexp")
With RegEx
.Pattern = "[0-9]+"
.Global = True
End With
For i = LBound(DatenAlt) To UBound(DatenAlt)
Set AlleOrangen = RegEx.Execute(DatenAlt(i, 5))
With WsZ
For j = 0 To AlleOrangen.Count - 1
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) = DatenAlt(i, 1)
Next j
For Each Orange In AlleOrangen
.Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0) = Orange.Value
Next Orange
End With
Next i
WsZ.Activate
Set Wb = Nothing
Set WsQ = Nothing
Set WsZ = Nothing
Erase DatenAlt
End Sub

Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige