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

Zellen trennen per VBA beim Speichern

Forumthread: Zellen trennen per VBA beim Speichern

Zellen trennen per VBA beim Speichern
15.02.2016 19: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 07: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 12: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 18: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 :-)
18.02.2016 00: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