Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Text in Spalten in Tabelle

Text in Spalten in Tabelle
23.10.2014 12:13:48
Daniela
Hallo,
Ich bekomme da täglich eine Liste mit ca. 1000 bis 2500 Zeilen und 15 Spalten.
In der Spalte B habe ich (172.55.22.16_Port1-172.55.22.22_Port12).
Diesen Eintrag in der Spalte B möchte ich mit „Text in Spalten“ teilen.
Dafür muss ich aber zuerst eine leere Spalte einfügen um „172.55.22.16_Port1“ und „172.55.22.22_Port12“ bei“-“ zu teilen.
Danach leere Spalte einfügen um „172.55.22.16_Port1“ und „172.55.22.22_Port12“ bei“_“ zu teilen
um als Ergebnis in
Spalte B „172.55.22.16“
Spalte C „Port1“
Spalte D „172.55.22.22“
Spalte E „Port12“
zu erhalten.
Es gibt zwischendurch auch Zeilen in welchen nur der Wert „172.55.22.16_Port1“ steht und somit nur auf zwei Spalten „B und C“ aufgeteilt wird und die Spalten „D und E“ bleiben deshalb leer.
Durch das Einfügen von neuen Spalten werden die Spalten „C“ usw. nur verschoben und nicht überschrieben.
Gibt es dafür eine einfache Macro- oder VBA Lösung?
Vielen Dank schon jetzt dafür

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Spalten in Tabelle
23.10.2014 13:49:08
Steffi
Hallo Daniela,
hattest du dir etwas in dieser Art vorgestellt?
Sub Zelle_aufteilen()
Dim Zähl As Long
Dim ArrayZähl As Long
Dim SpaltenZähl As Long
Dim A As String
Dim B() As String
Dim C()  As String
With ThisWorkbook.Sheets(1) 'anpassen
.Columns("B:E").Insert Shift:=xlToRight
For Zähl = 1 To .UsedRange.Rows.Count
A = .Cells(Zähl, 1)
SpaltenZähl = 2
B = Split(A, "-")
For ArrayZähl = LBound(B) To UBound(B)
C = Split(B(ArrayZähl), "_")
.Cells(Zähl, SpaltenZähl) = C(0)
.Cells(Zähl, SpaltenZähl + 1) = C(1)
SpaltenZähl = SpaltenZähl + 2
Next ArrayZähl
Next Zähl
End With
End Sub
Ich hoffe das kann dir helfen.
Gruß Steffi

Anzeige
AW: Text in Spalten in Tabelle
23.10.2014 14:34:36
Daniela
Hallo Steffi,
Danke vorerst einmal.
Es hat nicht nach meinen Vorstellungen funktioniert.
Ich habe die https://www.herber.de/bbs/user/93311.xlsx als Ausgangsdatei hochgeladen
Spalte B welche ich bearbeiten möchte habe ich mit grauen Hintergrund.
Diese soll so auseinandergeteilt sein wie in der Datei https://www.herber.de/bbs/user/93312.xlsx
Vielleicht ist die Änderung möglich!
Danke dir Steffi
lg
Daniela

AW: Text in Spalten in Tabelle
23.10.2014 14:49:09
Steffi
Hallo Daniela,
probier bitte ob das besser klappt:
Option Explicit
Sub Zelle_aufteilen()
Dim Zähl As Long
Dim ArrayZähl As Long
Dim SpaltenZähl As Long
Dim A As String
Dim B() As String
Dim C()  As String
With ThisWorkbook.Sheets(1) 'anpassen
.Columns("C:E").Insert Shift:=xlToRight
.Columns("C:E").ColumnWidth = 20
For Zähl = 2 To .UsedRange.Rows.Count
A = .Cells(Zähl, 2)
SpaltenZähl = 2
B = Split(A, "-")
For ArrayZähl = LBound(B) To UBound(B)
If InStr(1, B(ArrayZähl), "_")  0 Then
C = Split(B(ArrayZähl), "_")
.Cells(Zähl, SpaltenZähl) = C(0)
.Cells(Zähl, SpaltenZähl + 1) = C(1)
SpaltenZähl = SpaltenZähl + 2
Else
.Cells(Zähl, SpaltenZähl) = B(ArrayZähl)
End If
Next ArrayZähl
Next Zähl
End With
End Sub
Die Aufbau der Tabelle war hier etwas anders, deshalb musste was angepasst werden.
Gruß Steffi

Anzeige
AW: Text in Spalten in Tabelle
23.10.2014 15:28:56
Daniela
Hallo Steffi,
Danke für deine Hilfsbereitschaft.
Das hat jetzt bestens funktioniert ;-)
Gruß Daniela

AW: Text in Spalten in Tabelle
23.10.2014 14:55:20
Bastian
Hallo,
hier eine Alternative:

Option Explicit
Sub trennen()
Dim strText As String
Dim varTeil As Variant
Dim lngLZeile As Long
Dim i As Long
Dim j As Long
lngLZeile = Cells(Rows.Count, 2).End(xlUp).Row
Columns("C:E").Insert Shift:=xlToRight
For i = 1 To lngLZeile
strText = Cells(i, 2).Value
strText = Replace(strText, "_", "-")
varTeil = Split(strText, "-")
For j = 0 To UBound(varTeil)
Cells(i, 2).Offset(0, j).Value = varTeil(j)
Next j
Next i
End Sub
Gruß, Bastian

Anzeige
AW: Text in Spalten in Tabelle
23.10.2014 15:26:48
Daniela
Hallo Bastian,
Vielen Dank für deinen Hilfe, aber irgendwie komme ich damit nicht klar!
Gruß
Daniela

AW: Text in Spalten in Tabelle
23.10.2014 15:48:36
Bastian
Hallo Daniela,
hm, funktioniert aber. Habs mal in Deine Ausgangsdatei eingefügt:
https://www.herber.de/bbs/user/93315.xlsm
Aber wenn der Code von Steffi jetzt auch funktioniert, ist ja alles ok.
Gruß, Bastian

AW: Text in Spalten in Tabelle
24.10.2014 12:27:17
Daniela
Hallo Bastian,
War mein Fehler den ich beim einfügen gemacht habe.
Habe jetzt meine gesamte Liste auch mit deinem VBA probiert und es hat auch bestens funktioniert.
Danke dir recht herzlich (-;
Gruß, Daniela
Anzeige

340 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige