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

Forumthread: Zellen trennen per VBA beim Speichern

Zellen trennen per VBA beim Speichern
15.02.2016 18:09:45
Heike
Hallo,
per Button speicher ich eine CSV Datei in "Daten.xls", in einem vorgegebenen Verzeichnis. Das klappt. Nun möchte ich, dass beim Speichern eine Spalte gesplittet wird. Die ersten 4 Ziffern bleiben stehen, der Text nach den Ziffern in eine neue Spalte. Eine genaue Beschreibung liegt in der Beispielmappe.
Die CSV-Datei lese ich jede Woche ein und kann unterschiedliche Zeilenanzahlen haben.
https://www.herber.de/bbs/user/103571.xlsx
Würde mich natürlich über Hilfe sehr freuen.
Vielen Dank.
Heike

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen trennen per VBA beim Speichern
16.02.2016 06:08:55
Raphael
Hallo Heike,
versuchs damit

Option Explicit
Sub Trennen()
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Mid(Cells(i, 8), 5, 4) = " ART" Then
Cells(i, 10) = Right(Cells(i, 8), Len(Cells(i, 8)) - 8) 'den Text minus die ersten  _
8 Zeichen schreiben
Cells(i, 8) = Links(Cells(i, 8), 4) ' die ersten 4 Zeichen schreiben
End If
Next i
End Sub
Gruess
Raphael

Anzeige
AW: Zellen trennen per VBA beim Speichern
16.02.2016 11:46:18
Heike
Hallo Raphael,
vielen Dank. Klappt "fast" perfekt :-) Aus dem "Links" habe ich Left gemacht. Soweit so gut. Aaaaber, dein Code überträgt den Text nur in die Spalte J wenn in H eine Nummer bzw ART steht. Ich möchte gerne, dass er immer den Text überträgt, somit steht in H entweder eine Nummer oder sie bleibt leer (blank).
Wäre super, wenn ich da weiterhin deine Hilfe bekommen würde. Dankeschön.
Heike

Anzeige
AW: Zellen trennen per VBA beim Speichern
17.02.2016 17:05:40
Raphael
Hallo Heike,
dann so

Sub Trennen()
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Mid(Cells(i, 8), 5, 4) = " ART" Then
Cells(i, 10) = Right(Cells(i, 8), Len(Cells(i, 8)) - 8) 'den Text minus die ersten  _
8 Zeichen schreiben
Cells(i, 8) = Links(Cells(i, 8), 4) ' die ersten 4 Zeichen schreiben
Else
Cells(i, 10) = Cells(i, 8)
Cells(i, 8) = ""
End If
Next i
End Sub

Anzeige
Klasse :-)
17.02.2016 23:11:54
Heike
Hallo Raphael,
das ist super, klappt perfekt. Ganz herzliches Dankeschön für deine Mühe.
Viele Grüße
Heike

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige