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

VBA Split Werte nicht ändern (Wert in Datum)

Forumthread: VBA Split Werte nicht ändern (Wert in Datum)

VBA Split Werte nicht ändern (Wert in Datum)
26.11.2024 10:02:22
AxelF1977
Moin zusammen,

mal wieder eine kleine Frage.

In einer Userform werden Daten zusammengestellt, was auch sonst...

Teile diese Daten werden in einer Hilfstabelle in EINE Zelle geschrieben (Daten werden so benötigt) und dann in die Nachbarspalte aufgeteilt per Split. Es wird an jedem Zeilenumbruch getrennt.

Dim vTemp As Variant

Dim iTemp As Integer
With ThisWorkbook.Worksheets("Beispiel") ' den Tabellenblattnamen ggf. anpassen!

vTempLOR = Split(.Range("C1").Value2, vbCrLf)
For iTempLOR = 0 To UBound(vTempLOR)
.Cells(1 + iTempLOR, 4).Value2 = vTempLOR(iTempLOR)
Next iTempLOR

End With


Nun ist da ein Wert bei, der eine Range an Tagen angibt (kann nicht verändert werden, Vorgabe, also muss ich damit leben)

Wert: 08-13

Der Wert wird in die Zelle C1 richtig geschrieben. Bei dem Split in Spalte D wird daraus aber 18.03.2024

Wie muss ich den Code anpassen, das es bei dem Wert bliebt?

Vielen Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Split Werte nicht ändern (Wert in Datum)
26.11.2024 10:09:53
Onur
.Cells(1 + iTempLOR, 4).NumberFormat = "@" ''Zuerst Zelle als TEXT formatieren

.Cells(1 + iTempLOR, 4).Value2 = vTempLOR(iTempLOR)
AW: VBA Split Werte nicht ändern (Wert in Datum)
26.11.2024 10:12:56
Yal
Hallo Axel,

setze einen Hochkomma vor dem Text.

Sub irgendwas()

Dim vTemp As Variant
Dim i As Integer 'Lauf-Variablen überlicherweise 1-stellig

With ThisWorkbook.Worksheets("Beispiel") ' den Tabellenblattnamen ggf. anpassen!
vTemp = Split(.Range("C1").Value2, vbCrLf)
For i = LBound(vTemp) To UBound(vTemp)
.Cells(1 + i, 4).Value2 = "'" & vTemp(i)
Next
End With
End Sub


Schalte auf alle Fälle in den VBA-Optionen "Variablendeklaration erforderlich". Nervt am Anfang, aber führt schnell zu besseren Programmierskills.
Poste bitte immer abgeschlossenen Code, von Sub bis End Sub.

VG
Yal
Anzeige
AW: VBA Split Werte nicht ändern (Wert in Datum)
26.11.2024 10:40:36
GerdL
Moin Axel!

Dim vTemp As Variant

Dim iTemp As Integer
With ThisWorkbook.Worksheets("Beispiel") ' den Tabellenblattnamen ggf. anpassen!

vTempLOR = Split(.Range("C1").Value2, vbCrLf)
For iTempLOR = 0 To UBound(vTempLOR)
If InStr(vTempLOR(iTempLOR), "-") Then vTempLOR(iTempLOR) = "'" & vTempLOR(iTempLOR)
.Cells(1 + iTempLOR, 4).Value = vTempLOR(iTempLOR)
Next iTempLOR

End With


Gruß Gerd
Anzeige
AW: VBA Split Werte nicht ändern (Wert in Datum)
26.11.2024 14:43:50
AxelF1977
Hallo zusammen,

ich habe den Teil von Onur eingebunden und noch weitere Veränderungen vorgenommen, jetzt geht es.
Komischerweise haben die anderen Ansätze nicht geklappt. Warum auch immer, denn logisch sehen alle aus.

Danke an alle für die Lösungsansätze!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18