Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelleninhalt trennen per VBA

Zelleninhalt trennen per VBA
12.02.2014 09:18:48
Tobias
Hallo an die ganze Community,
ich komme bei einem Problem leider nicht weiter und hoffe, dass mir jemand VBA erfahrenes dabei weiterhelfen kann.
Ich habe eine Tabelle, wo in einer Spalte mehrere IDs hintereinander in einer Zelle stehen. In der ersten Spalte steht immer die Leit-ID und in der 13ten Spalten stehen die dazu zugeordneten IDs.
Ich würde die zugeordneten IDs gerne am ende der Tabelle in der 1. Spalte gertrennt auflisten. Das heißt, wenn in der Zelle 3 oder auch mehr IDs stehen soll jede ID in einer neuen Zeile am ende der Tabelle stehen. Und in Spalte 2 soll die Leit-ID aufgelistet werden. Jede ID hat immer 14 Stellen und beginnt mit dem Buchstabe O.
Beispiel:
Zelle A1 (Leit-ID): O-123456789012
Zelle A13 (Zugeordnete IDs): O-123456789999O-111111111111 usw.
Ende der Tabelle z.B. in Zelle A2000.
A2000: O-123456789999 B2000: O-123456789012
A2001: O-111111111111 B2001: O-123456789012
Das Zeilenende der Tabelle habe ich immer mit folgendem Befehl ermittelt:
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row + 1
Ich hoffe ihr versteht mein Problem und könnt mir da weiterhelfen.
Danke schonmal im voraus für alle Bemühungen.
Viele Grüße
Tobias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt trennen per VBA
12.02.2014 11:36:01
fcs
Hallo Tobias,
leider sind deine Angaben mit Zelle A1 und A13 und 13te Spalte (dann müssten die zugeordneten IDs in Spale M stehem) etwas verwirdend.
Im Prinzip funktioniert folgendes Makro, wenn die IDs in Spalte A und die zugeordneten in Spalte M stehen
Gruß
Franz
Sub SubIDs_listen()
Dim wks As Worksheet
Dim Zeile As Long, ZeileID As Long
Dim strSpa13 As String, strID As String
Dim intPos As Integer
Set wks = ActiveSheet
With wks
ZeileID = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row + 1
strID = .Cells(Zeile, 1).Text
strSpa13 = .Cells(Zeile, 13).Text
For intPos = 1 To Len(strSpa13) Step 14
ZeileID = ZeileID + 1
.Cells(ZeileID, 1).Value = strID
.Cells(ZeileID, 2).Value = Mid(strSpa13, intPos, 14)
Next
Next
End With
End Sub

Anzeige
AW: Zelleninhalt trennen per VBA
12.02.2014 14:16:01
Tobias
Hallo Franz,
vielen Dank für deine schnelle Antwort sowie für deine Lösung.
Das mit der Spalte war genau so gemeint, wie du es verstanden hast. Da man als Index im Code die Spaltennummer angibt, hatte ich anstatt Spalte M die Spalte 13 als Definition verwendet. Aber egal, du hattest es ja richtig interpretiert ;).
Die Lösung funktioniert wunderbar. Musste nur eine kleine Änderung vornehmen, da die Leit-ID in deiner Lösung in Spalte B statt in Spalte A steht, aber das ist ja kein Problem. Ansonsten eine super Arbeit und vielen Dank dafür.
Viele Grüße
Tobias

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige