Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen werden nicht als Zahl erkannt

Zellen werden nicht als Zahl erkannt
Holger,
Hallo liebes Forum,
mit unten stehendem Makro lese ich eine csv Datei in eine Tabelle ein.
Dabei wird die Zelle auch als Text formatiert.
Dennoch werden die Zellen nicht als Zahl erkannt, denn Summen gehen nicht
und wenn ich mehrere Zellen markiere, kommt unten in der Statusleiste auch nicht die
Summe, sondern lediglich die Anzahl der markierten Zellen.
Mir ist das am Anfang nicht aufgefallen, weil ich diese Prüfung ausgeschaltet habe (siehe zweites Makro),
aber es erscheint ein gelbes Ausrufezeichen mit der Meldung "Zahl als Text formatiert oder Apostroph vorangestellt". Rechtsklick auf die Zelle ist aber Zahl mit 0 Nachkommastellen eingestellt.
Was also mache ich falsch? In dem csv file gibt es Text und Zahlenfelder, die ich später in
der Tabelle mit Numberformat formatiere, aber das bringt anscheinend nichts.
In dem CSV Import kann ich leider nicht beeinflussen welche Spalte mit welcher
Formatierung eingelesen wird, also setze ich immer das Format auf Zahl.
Kann bitte jemand helfen?
Private Function ReadfromCSVSimple(WS As Worksheet, fname As String, Optional FS As String = ";" _
_
)
Dim hfile As Integer ' Filehandle bzw. Dateinummer
Dim i As Long ' Zähler über alle Zeilen
Dim OneLine As String ' Eine Zeile als String
Dim myArr As Variant ' eine Zeile in Felder getrennt
hfile = FreeFile
Open fname For Input As #hfile
While Not EOF(hfile)
i = i + 1
Line Input #hfile, OneLine
myArr = Split(OneLine, FS)
With WS.Range(WS.Cells(i, 1), WS.Cells(i, 1 + UBound(myArr)))
.NumberFormat = "0"
.Value = myArr
End With
Wend
Close #hfile
End Function

Sub ApplicationSettings(ByVal blnSwitch As Boolean)
Application.ErrorCheckingOptions.NumberAsText = blnSwitch
Application.ErrorCheckingOptions.BackgroundChecking = blnSwitch
Application.ErrorCheckingOptions.EmptyCellReferences = blnSwitch
Application.ErrorCheckingOptions.EvaluateToError = blnSwitch
Application.ErrorCheckingOptions.InconsistentFormula = blnSwitch
Application.ErrorCheckingOptions.ListDataValidation = blnSwitch
Application.ErrorCheckingOptions.OmittedCells = blnSwitch
Application.ErrorCheckingOptions.UnlockedFormulaCells = blnSwitch
Application.ErrorCheckingOptions.TextDate = blnSwitch
End Sub
Anzeige
Das ist der Fehler; hier schon Tsde Male...
13.12.2010 12:05:47
Luc:-?
…behandelt, Holger…
Zitat: Dabei wird die Zelle auch als Text formatiert.
Gruß Luc :-?
Nein, nein, das war ein Tippfehler
13.12.2010 12:10:33
Holger,
Hallo Luc,
es sollte natürlich heissen, als ZAHL formatiert.
Die Zeile ist ja auch in dem Makro zu sehen.
.NumberFormat = "0"
Das komische ist, wenn ich mit dem Ausrufezeichen auf Zahl konvertieren gehe,
dann klappt es. Aber das lässt sich mit dem Makrorecorder nicht nachvollziehen,
denn da erscheint nur ein Select.
Kannst du mir bitte nochmal auf die Sprünge helfen?
Ich habe die Hilfe schon gelesen, aber so einen Fall gab es anscheinend im Forum noch nicht.
Gruß+Dank
Holger
Anzeige
AW: Nein, nein, das war ein Tippfehler
13.12.2010 12:26:24
Renee
Hi,
aber so einen Fall gab es anscheinend im Forum noch nicht.
LOL : ...wie Luc sagte, zu 1000nden...
Aus einem Split-Array vom Typ String! wird nicht automatisch eine Zahl!
Fügeein:
...
.NumberFormat = "0"
.Value = .Value
...

GreetZ Renée
Anzeige
AW: Nein, nein, das war ein Tippfehler
13.12.2010 12:50:05
Holger
Hi rene,
Also mit csv import habe
Ich nichts gefunden!?
Ich dachte ja schon anstatt
String variant zu benutzen,
Aber
Nur der ganze Split-Ausdruck ist ein Variant,...
13.12.2010 13:00:51
Luc:-?
…die Einzelelemente immer unveränderbar Text (Variant-Untertyp String), Holger;
und Text bleibt Text, da kannst du höchstens in der Zelle multiplizieren wie Rudi es vorschlägt oder du lädst jedes Element in ein Element eines normalen Feldes numerischen Typs → dabei Konvertierung mittels CDbl bzw CLng nicht vergessen!
Gruß Luc :-?
Anzeige
Was ist mit .Value = .Value ? (owT)
13.12.2010 13:07:30
Renee

Könnte ja auch klappen; vergessen, pardon! orT
13.12.2010 14:05:18
Luc:-?
Wie konnt'ich nur dein' Beitrag vergessen… ;-)
Gruß Luc :-?
Klappt auch, DANKE
13.12.2010 16:09:05
Holger,
Hallo,
.value = .value klappt auch.
Schöner wäre es dennoch wenn ich für jede Spalte die richtige
Formatierung hätte. Jetzt sind Textspalten als Zahl formatiert.
Daher werde ich doch auch mal die andere Lösung testen.
Anzeige
Was ist, die RICHTIGE Formatierung? (owT)
13.12.2010 16:23:40
Renee

AW: Nur der ganze Split-Ausdruck ist ein Variant,...
13.12.2010 13:32:58
Holger
Ok, ich schreibe vim iphone aus und teste rudis
Vorschlag später daheim
Leider hängt sich das iphone
Dauernd auf, das nervt.
AW: Das ist der Fehler; hier schon Tsde Male...
13.12.2010 12:27:50
Rudi
Hallo,
1. macht man sowas als Sub.
2. ein Text ist ein Text, auch wenn er wie eine Zahl aussieht. Daran ändert auch das Zellformat nichts.
Teste mal:
Private Sub ReadfromCSVSimple(WS As Worksheet, fname As String, Optional FS As String = ";")
Dim hfile As Integer ' Filehandle bzw. Dateinummer
Dim i As Long ' Zähler über alle Zeilen
Dim OneLine As String ' Eine Zeile als String
Dim myArr As Variant ' eine Zeile in Felder getrennt
Dim Tmp
hfile = FreeFile
Open fname For Input As #hfile
While Not EOF(hfile)
i = i + 1
Line Input #hfile, OneLine
myArr = Split(OneLine, FS)
For Each Tmp In myArr
If IsNumeric(Tmp) Then Tmp = Tmp * 1
Next
With WS.Range(WS.Cells(i, 1), WS.Cells(i, 1 + UBound(myArr)))
.NumberFormat = "0"
.Value = myArr
End With
Wend
Close #hfile
End Sub

Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen werden nicht als Zahl erkannt


Schritt-für-Schritt-Anleitung

Wenn Excel eine Zahl nicht als solche erkennt, kann das frustrierend sein. Hier sind die Schritte, um dieses Problem zu beheben:

  1. Formatierung überprüfen: Stelle sicher, dass die Zellen, in denen die Zahlen stehen, als „Zahl“ formatiert sind. Rechtsklicke auf die Zelle und wähle „Zellen formatieren“. Wähle dann „Zahl“ aus.

  2. Apostroph entfernen: Wenn die Zahl in der Zelle als Text erkannt wird, könnte ein Apostroph vorangestellt sein. Klicke in die Zelle und entferne das Apostroph.

  3. Makro anpassen: Wenn du ein Makro verwendest, um eine CSV-Datei zu importieren, stelle sicher, dass du die Werte korrekt konvertierst. Hier ist ein Beispiel, wie du das tun kannst:

    For Each Tmp In myArr
       If IsNumeric(Tmp) Then Tmp = Tmp * 1
    Next

    Integriere diese Logik in dein bestehendes Makro.

  4. Werte neu zuweisen: Manchmal hilft es, die Werte der Zellen neu zuzuweisen, um sicherzustellen, dass Excel sie als Zahlen erkennt:

    .Value = .Value
  5. Fehlerprüfung aktivieren: Überprüfe in den Excel-Optionen, ob die Fehlerüberprüfung für Zahlen aktiviert ist. Gehe zu „Datei“ > „Optionen“ > „Formeln“ und aktiviere die entsprechenden Optionen.


Häufige Fehler und Lösungen

  • Die Zahl in dieser Zelle ist als Text formatiert: Dies ist eine häufige Fehlermeldung in Excel. Du kannst die Zelle markieren, auf das Ausrufezeichen klicken und „Zahl konvertieren“ auswählen.

  • Excel erkennt Zahlen nicht aus CSV: Wenn du Daten aus einer CSV-Datei importierst, stelle sicher, dass das Trennzeichen korrekt gesetzt ist und die Formatierung der Spalten angepasst wird.

  • Zahlen werden als Text erkannt: Überprüfe die Importoptionen und stelle sicher, dass die Spalten, die Zahlen enthalten, als „Zahl“ formatiert sind.


Alternative Methoden

Falls du weiterhin Probleme hast, hier sind einige alternative Methoden:

  • Text in Spalten: Markiere die Spalte mit den „Text“-Zahlen, gehe zu „Daten“ > „Text in Spalten“ und folge dem Assistenten. Wähle „Getrennt“ und dann „Fertigstellen“. Dies kann helfen, die Daten zu konvertieren.

  • Verwenden von Formeln: Du kannst auch eine Formel verwenden, um die Werte zu konvertieren. Benutze =WERT(A1) für eine Zelle, die als Text gespeichert ist.


Praktische Beispiele

Beispiel 1: CSV-Datei importieren

Private Sub ReadfromCSVSimple(WS As Worksheet, fname As String, Optional FS As String = ";")
    Dim hfile As Integer
    Dim i As Long
    Dim OneLine As String
    Dim myArr As Variant
    Dim Tmp
    hfile = FreeFile
    Open fname For Input As #hfile
    While Not EOF(hfile)
        i = i + 1
        Line Input #hfile, OneLine
        myArr = Split(OneLine, FS)
        For Each Tmp In myArr
            If IsNumeric(Tmp) Then Tmp = Tmp * 1
        Next
        With WS.Range(WS.Cells(i, 1), WS.Cells(i, 1 + UBound(myArr)))
            .NumberFormat = "0"
            .Value = myArr
        End With
    Wend
    Close #hfile
End Sub

Beispiel 2: Konvertierung von Text zu Zahl

Range("A1").Value = CDbl(Range("A1").Value)

Tipps für Profis

  • Makros optimieren: Wenn du regelmäßig mit CSV-Dateien arbeitest, optimiere dein Makro, um die Konvertierung von Text zu Zahlen automatisch durchzuführen.

  • Datentypen verstehen: Verstehe die Unterschiede zwischen den Datentypen in Excel. Ein Text bleibt Text, auch wenn er wie eine Zahl aussieht. Verwende CDbl oder CLng, um sicherzustellen, dass die Konvertierung korrekt durchgeführt wird.

  • Fehlermeldungen beachten: Ignoriere nicht die Warnungen von Excel, wie das Ausrufezeichen für „Zahl als Text formatiert“. Diese Hinweise helfen dir, Probleme frühzeitig zu erkennen.


FAQ: Häufige Fragen

1. Warum werden meine Zahlen in Excel nicht erkannt?
Excel erkennt Zahlen, die als Text formatiert sind, nicht als Werte. Dies kann durch ein Apostroph oder falsche Formatierungen verursacht werden.

2. Wie kann ich sicherstellen, dass Zahlen aus einer CSV-Datei korrekt importiert werden?
Achte darauf, dass das richtige Trennzeichen verwendet wird und dass die Spalten nach dem Import als „Zahl“ formatiert werden. Nutze gegebenenfalls Makros zur Automatisierung der Konvertierung.

3. Was bedeutet das Ausrufezeichen in Excel?
Das Ausrufezeichen weist darauf hin, dass eine Zahl in der Zelle als Text gespeichert ist. Du kannst dies beheben, indem du die Zelle konvertierst oder das Format anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige