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

Zahlenformat ändert sich nach Split

Zahlenformat ändert sich nach Split
27.07.2022 14:02:39
Marius
Hallo liebe Mitglieder,
ich versuche mir einen Code aufzubauen in dem mehrere Textdateien eingelesen werden. Nach dem Einlesen sollen die Werte in mehrere Spalten eingetragen werden. So weit so gut. Es funktioniert alles soweit, bis auf die Tatsache, dass die Werte beim Ausführen der Split-Funktion verändert werden. So wird aus einer 10,340000 plötzlich eine 10.340.000. Was muss ich tun um hier das korrekte Zahlenformat beizubehalten?
Vielen Dank im Voraus für eure Hilfe!
Die Datei zum Code müsste unter folgendem Link zu finden sein: https://www.herber.de/bbs/user/154395.txt
hier mein Code:

Sub einlesen()
Dim z As Integer
Dim j As Integer
Dim i As Integer
Dim L As Integer
Dim Matrize As String
Dim Einzelwert() As String
Dim Quelle As String
'Variable zum hochzählen der Spalten
s = 1
'Variable zum hochzählen der Zeilen
z = 1
'Schleife für die drei Textdateien
For d = 0 To 2
'Dateien als Array speichern
Quelle = "C:\Users\XXX\Test_" & d + 1 & "_strukturiert_t2-strukturiert_t2.txt"
'Dateien als Array "Quelle" gespeichert öffnen
Open Quelle For Input As #d + 1
'Schleife bis zum Ende der Datei
Do While Not EOF(d + 1)
'Zeile für Zeile in Array eintragen
Line Input #d + 1, Matrize
ActiveSheet.Cells(z, s) = Replace(Matrize, vbTab, ";")
'Variable z am Ende jedes durchgangs um 1 erhöhen
z = z + 1
Loop
s = s + 7
z = 1
Close #d + 1
Next
'Variable zum erhöhen der Spalte
n = 0
'Schleife für mehrere Spalten
For k = 1 To 16 Step 7
'Schleife zum Aufsplitten der Matrize in mehrere Spalten
For j = 1 To ActiveSheet.Cells(Rows.Count, k).End(xlUp).Row 'Laufvariable
Einzelwert = Split(Cells(j, k), ";") 'Array "Einzelwert" aufsplitten 'HIER ENTSTEHT DER FEHLER
For i = 0 To UBound(Einzelwert)
Cells(j, i + 1 + n) = Einzelwert(i)
Next
Next
'Variable zur Auswahl der Spalte um 7 erhöhen
n = n + 7
Next
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat ändert sich nach Split
27.07.2022 14:10:41
{Boris}
Hi,
probier mal - ungetestet:
Cells(j, i + 1 + n) = Einzelwert(i) + 0
oder
Cells(j, i + 1 + n) = CDbl(Einzelwert(i))
VG, Boris
AW: Zahlenformat ändert sich nach Split
27.07.2022 14:31:42
Marius
Hey Boris, danke für die schnelle Antwort, aber leider funktioniert es nicht. Bei beiden Varianten erhalte ich die Fehlermeldung Laufzeitfehler '13' Typenunverträglich.
Grüße, Marius
AW: Zahlenformat ändert sich nach Split
27.07.2022 15:24:55
Daniel
Hi
bei beiden Varianten dürfen nur Werte vorkommen, die sich in Zahlen umwandeln lassen.
gibt es auch echte Texte, die sich nicht wandeln lassen, müsste man prüfen und diffenziert handeln.

if isnumeric((Einzelwert(i)) then
Cells(j, i + 1 + n) = CDbl(Einzelwert(i))
else
Cells(j, i + 1 + n) = Einzelwert(i)
end if
Gruß Daniel
Anzeige
AW: Zahlenformat ändert sich nach Split
27.07.2022 14:38:18
Daniel
Hi
probiers mal so:

Cells(j, i + 1 + n).FormulaLocal = Einzelwert(i)
wenn du die Einzelwerte so in die Zellen schreibst, führt Excel die Prüfung durch, ob die Eingabe eine Zahl, ein Datum oder eine Formel sein könnte und wenn ja, wird die eingabe in das entsprechende umgewandelt. Da allerdings die Eingabe von VBA kommt, rechnet die Typumwandlung mit einer Eingabe im amerikanischen Format und nicht im deutschen. Mit .FormulaLocal gibst du jedoch an, dass die Werte im lokalen, dh hier deutschen Format vorliegen, so dass dein Komma als Dezimal- und nicht als Tausendertrennzeichen interpretiert wird.
Gruß Daniel
Anzeige
AW: Zahlenformat ändert sich nach Split
27.07.2022 14:47:26
Marius
Es ist ein Traum Daniel! Ich habe schon so lang probiert... Jetzt klappt alles und steht da wie gewollt.
Vielen, Vielen DANK!
Grüße, Marius
Sehr gut! :-) ...oT
27.07.2022 14:51:46
{Boris}
VG, Boris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige