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

TextToColumns in VBA

TextToColumns in VBA
11.06.2015 12:06:39
Senna
Hallo,
ich bin gerade auf ein Problem gestoßen, dass ich nicht ganz verstehe.
Wenn ich in einer Exceldatei manuell den Befehl "Text in Spalten" ausführe, dann macht Excel genau das was ich möchte. Jetzt möchte ich das aber automatisieren mit VBA.
In einer Spalte stehen Zahlen teilweise als Text formatiert. Dezimaltrennzeichen ist das Komma und Tausendertrennzeichen der Punkt. Nachdem ich mein Makro ausgeführt habe, ist das Dezimaltrennzeichen auf einmal der Punkt und die Zahl wird nicht als Zahl erkannt.
Hier mein Code:

Columns("E:E").Select
Selection.TextToColumns Destination:=Range("E:E"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), DecimalSeparator:=",", ThousandsSeparator:=".", TrailingMinusNumbers:= _
True

Im System ist ebenfalls der Punkt als Tausender- und das Komma als Dezimaltrennzeichen eingestellt.
Vielleicht kann mir ja einer von euch sagen wo mein Fehler liegt.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextToColumns in VBA
11.06.2015 15:22:21
fcs
Hallo Senna,
das ist kein Fehler von dir sondern eine Eigenart VBA (I am American).
Leider schafft es Microsoft seit Jahren nicht, dass die VBA-Variante dieser Funktion genauso arbeitet wie die manuelle Ausführung des Befehls an der nationalen Benutzeroberfläche.
Hier bleibt nichts anderes über, als die Umwandlung Zellenweise per VBA durchzuführen.
Gruß
Franz
Sub aaText_to_Number()
Dim Zelle As Range, Bereich As Range
Dim wks As Worksheet
Dim StatusCalc As Long
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
Set wks = ActiveSheet
With wks
'Zellen mit Daten in Spalte E
Set Bereich = .Range(.Cells(1, 5), .Cells(.Rows.Count, 5).End(xlUp))
Bereich.NumberFormat = "General" 'oder das gewünschte Zahlenformat
For Each Zelle In Bereich.Cells
With Zelle
If IsNumeric(.Value) Then .Value = CDbl(.Value)
End With
Next
End With
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
End Sub

Anzeige
AW: TextToColumns in VBA
12.06.2015 07:49:58
Senna
Hey Franz,
super das funktioniert einwandfrei. Vielen Dank für deine Hilfe :)
Gruß
Senna

31 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige