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

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

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

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

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

81 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige