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

IsText???

Forumthread: IsText?

IsText?
21.09.2005 20:29:09
Rainer
Hallo,
mit IsNumeric(ActiveCell) kann ich abfragen, ob es sich um eine Zahl handelt. Geht das auch bei Text?
Gruß Rainer
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IsText?
21.09.2005 20:43:57
Fred
Hi,
nicht so direkt, du kannst aber die Worksheetfunction IsText verwenden.
mfg Fred
Vielen Dank. o. T.
21.09.2005 20:46:20
Rainer
AW: IsText?
21.09.2005 20:45:09
René
Hi,
also ich denke, dass es da nichts gibt, mit numeric(activecell) kannst du nur zahlen und leere zellen auf true haben, sobald text drin steht ist es false, vielleicht dies nutzen und im fall false auf string schließen...?
Anzeige
Vielen Dank. o. T.
21.09.2005 20:48:59
Rainer
AW: IsText?
21.09.2005 21:00:28
Erich
Hallo Rainer,
mit IsNumeric wird genau genommen nicht geprüft, ob es sich um eine Zahl handelt, sondern ob ob ein Ausdruck als Zahl ausgewertet werden kann (aus der VBA-Hilfe).
Ich habe auch schon mal über das Problem gegrübelt - hier meine (schon etwas älternen) Ergebnisse, die dir auch vielleicht weiterhelfen:
 
 ABCDEFGH
1QuelleISTEXTnot ISTZAHL()not WF_IsNumberxTextxNumericVxNumericTxNumeric0
2 FALSCHWAHRWAHRWAHRFALSCHWAHRFALSCH
323.04.2005FALSCHFALSCHFALSCHFALSCHFALSCHFALSCHFALSCH
424.04.2005FALSCHFALSCHFALSCHFALSCHWAHRFALSCHWAHR
525.04.2005WAHRWAHRWAHRWAHRFALSCHFALSCHFALSCH
62FALSCHFALSCHFALSCHFALSCHFALSCHFALSCHFALSCH
73WAHRWAHRWAHRWAHRFALSCHFALSCHFALSCH
84WAHRWAHRWAHRWAHRFALSCHFALSCHFALSCH
95WAHRWAHRWAHRWAHRFALSCHFALSCHFALSCH
10#############FALSCHFALSCHFehler 6: ÜberlaufFehler 6: Überlauf#WERT!WAHRWAHR
11#BEZUG!FALSCHWAHR#BEZUG!#BEZUG!WAHRWAHRWAHR
Formeln der Tabelle
B2 : =ISTTEXT($A2)
C2 : =NICHT(ISTZAHL($A2))
D2 : =xTextF($A2)
E2 : =xText($A2)
F2 : =xNumericV($A2)
G2 : =xNumericT($A2)
H2 : =xNumeric0($A2)
A8 : =TEXT(4;"#")
A10 : =A$3
A11 : =SUMME(#BEZUG! #BEZUG!)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Und hier der Code dazu: Option Explicit ' Text erkennen (DIESE DREI FUNKTIONEN FUNZEN NICHT !) Function xNumericV(zzz As Range) As Boolean xNumericV = Not IsNumeric(zzz.Value) End Function Function xNumericT(zzz As Range) As Boolean xNumericT = Not IsNumeric(zzz.Text) End Function Function xNumeric0(zzz As Range) As Boolean xNumeric0 = Not IsNumeric(zzz) End Function ' Text erkennen mit Fkt. ISTZAHL Function xTextF(zzz As Range) If xFehler(zzz) > "" Then xTextF = xFehler(zzz) Else xTextF = Not Application.WorksheetFunction.IsNumber(zzz) End If End Function ' Text erkennen (von Excel linksbündig angezeigt) Function xText(zzz As Range) Dim ii%, jj% xText = False If xFehler(zzz) > "" Then xText = xFehler(zzz) Else If zzz.Text = zzz.Value Then xText = True Else ii = InStr(zzz.NumberFormat, "@") jj = InStr(zzz.NumberFormat, ";") If ii > 0 And (jj = 0 Or ii < jj) Then xText = True End If End If End Function ' Fehler erkennen Function xFehler$(zzz As Range) Dim dummy xFehler = "" On Error Resume Next dummy = zzz.Value If Err.Number <> 0 Then xFehler = "Fehler " & Err.Number & ": " & Err.Description Err = 0 On Error GoTo 0 ElseIf IsError(zzz.Value) Then xFehler = zzz.Text End If End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: IsText?
21.09.2005 21:16:27
Rainer
Hallo Erich,
vielen Dank für Deine Mühe. Leider verstehe ich mit meinen bescheidenen VBA-Kenntnissen den Code nicht wirklich.
Gerade habe ich noch bei einem neuen Problem eine Lösung gesucht, zu prüfen, ob in der Zelle eine Formel steht. Und das mach ich jetzt so: If Left(ActiveCell.FormulaLocal, 1) = "=" Then ...
Eine andere Lösung fällt mir hier auch nicht ein. Diese funzt aber :-)
Gruß nach Kamp-Lintfort
Rainer
Anzeige
AW: IsText?
21.09.2005 21:23:57
Fred
Hi,
HasFormula ist die richtige Wahl, es gibt auch Formeln, die mit { beginnen, ein =
bedeutet nicht zwangsläufig, dass die Zelle eine Formel enthält.
mfg Fred
AW: IsText?
21.09.2005 21:26:57
Rainer
Wieder was dazugelernt. HasFormula war mir noch unbekannt.
Dank und Gruß
AW: IsText?
21.09.2005 22:05:27
Ralf
Halle Rainer,
Variablentypen kannst Du über Typename ermitteln. Bsp.:
Sub x() If TypeName("Hallo") = "String" Then MsgBox "Ja" End Sub
Ciao, Ralf
Anzeige
;
Anzeige

Infobox / Tutorial

Textprüfung in Excel mit IsText und VBA


Schritt-für-Schritt-Anleitung

Um in Excel zu prüfen, ob eine Zelle Text enthält, kannst Du die WorksheetFunction IsText verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

  1. Öffne das Visual Basic for Applications (VBA)-Fenster in Excel (Alt + F11).

  2. Füge einen neuen Modul ein (Rechtsklick auf „VBAProject“ > Einfügen > Modul).

  3. Kopiere und füge den folgenden Code ein:

    Function IstText(zelle As Range) As Boolean
       IstText = Application.WorksheetFunction.IsText(zelle)
    End Function
  4. Schließe das VBA-Fenster und gehe zurück zu Excel.

  5. Verwende die Funktion in einer Zelle, z.B. =IstText(A1), um zu überprüfen, ob der Inhalt von Zelle A1 Text ist.


Häufige Fehler und Lösungen

  • Fehler: #NAME?

    • Dieser Fehler tritt auf, wenn Excel die benutzerdefinierte Funktion nicht erkennt. Stelle sicher, dass die Funktion korrekt im VBA-Fenster eingegeben wurde und dass Du das richtige Modul ausgewählt hast.
  • Fehler: Falsches Ergebnis

    • Wenn die Funktion IstText nicht das erwartete Ergebnis zurückgibt, überprüfe, ob die Zelle tatsächlich Text enthält. Manchmal wird Text als Zahl formatiert oder umgekehrt.

Alternative Methoden

Falls Du keine VBA-Funktion verwenden möchtest, gibt es alternative Methoden:

  • Direkte Verwendung von Excel-Formeln: Du kannst die integrierte Funktion ISTEXT direkt in einer Zelle verwenden. Beispiel: =ISTEXT(A1) gibt WAHR zurück, wenn A1 Text enthält.

  • Kombination von ISNUMBER und NOT: Du kannst auch prüfen, ob eine Zelle kein Zahl ist, um zu schließen, dass es sich um Text handelt:

    =NICHT(ISTZAHL(A1))

Praktische Beispiele

Hier sind einige praktische Anwendungen:

  • Prüfen, ob eine Zelle Text enthält: Verwende =ISTTEXT(A1), um schnell zu überprüfen, ob der Inhalt von A1 ein Text ist.

  • Erstellen eines benutzerdefinierten Alerts: Du kannst einen VBA-Code verwenden, um einen Alarm auszulösen, wenn der eingegebene Wert kein Text ist:

    Sub CheckText()
       If Not IstText(ActiveCell) Then
           MsgBox "Bitte gib einen Text ein!"
       End If
    End Sub

Tipps für Profis

  • Verwende TypeName: Anstatt nur zu prüfen, ob es sich um Text handelt, kannst Du auch den Typ von Variablen mit TypeName ermitteln. Beispiel:

    If TypeName(ActiveCell.Value) = "String" Then
      ' Der Inhalt ist Text
    End If
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinen VBA-Funktionen, um unerwartete Fehler abzufangen und zu behandeln.


FAQ: Häufige Fragen

1. Was macht die Funktion IsText in VBA? Die Funktion IsText prüft, ob der Inhalt einer Zelle als Text formatiert ist. Sie gibt TRUE zurück, wenn es sich um Text handelt, andernfalls FALSE.

2. Kann ich IsText in einer Formel verwenden? Ja, Du kannst die ISTTEXT-Funktion in einer Excel-Formel verwenden, um zu überprüfen, ob der Inhalt einer Zelle Text ist.

3. Wie kann ich prüfen, ob eine Zelle eine Formel enthält? Du kannst die HasFormula-Eigenschaft in VBA verwenden, um zu überprüfen, ob eine Zelle eine Formel enthält. Beispiel:

If ActiveCell.HasFormula Then
    MsgBox "Diese Zelle enthält eine Formel."
End If

4. Was ist der Unterschied zwischen IsNumeric und IsText? IsNumeric prüft, ob ein Wert als Zahl interpretiert werden kann, während IsText prüft, ob es sich um einen Textwert handelt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige