Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rechtschreibprüfung in TextBox

Forumthread: Rechtschreibprüfung in TextBox

Rechtschreibprüfung in TextBox
08.03.2017 08:56:00
Frank
Hallo und Guten Morgen!
Ich führe eine Rechtschreibprüfung in einer textBox durch.
TextBox1.ForeColor = Abs(Not (Application.CheckSpelling(TextBox1.Text))) * &HFF
Nach vermutlich, habs nicht gezählt, bricht er aber nach der Eingabe von 256 Zeichen ab und die o. a. Zeile wird im debugger gelb markiert.
Wie kann ich nun erreichen, dass die rechtschreibprüfung unbegrenzt läuft?
Weiss jemand Rat. besten Dank im Voraus!
Gruß Frank H.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Rechtschreibprüfung in TextBox
08.03.2017 10:34:45
JoWE
Hallo Frank,
ich weiss nicht warum die Prüfung abbricht. Evtl. gibt's da eine (mir unbekannte) Grenze.
Für die Rechtschreibung in TextBoxen habe ich einen Code, weiss nicht mehr woher.
Damit wird der Text der Box in eine temporäre Tabelle geschrieben, dort geprüft, Fehler via Rechtschreibprüfung korrigiert und schließlich der korrigierte in die Textbox zurück geschrieben.
Vielleicht nicht wirklich elegant, aber funktioniert.

Sub checkerTB()
Dim ws As Worksheet
Dim wb As Workbook
Dim orgSh As Worksheet
Set orgSh = ActiveSheet
Set wb = ActiveWorkbook
Set ws = wb.Worksheets.Add
ws.Name = "RechtschreibungTemp"
ws.Visible = xlSheetHidden
ws.Range("A1").Value = Sheets("Tabelle1").TextBox1.Value
ws.Range("A1").CheckSpelling
Sheets("Tabelle1").TextBox1.Value = ws.Range("A1").Value
Application.DisplayAlerts = False
ws.Delete
orgSh.Activate
End Sub
Gruß
Jochen
Anzeige
AW: Rechtschreibprüfung in TextBox
08.03.2017 10:41:14
EtoPHG
Hallo Frank,
Application.CheckSpelling Method
Checks the spelling of a single word.
Im Deutschen sind zwar grammatikalische Möglichkeiten gegeben ein Wort mit über 256 Zeichen 'künstl(er)isch herzustellen, aber irgendwie sinnfrei.
Also Wort für Wort prüfen!
Gruess Hansueli
Anzeige
AW: Rechtschreibprüfung in TextBox
08.03.2017 11:31:43
Frank
Hallo Hansueli!
Ich gebe in eine TextBox welche mit MultiLine Eigenschaft ausgestattet ist, einen längeren Text ein und der soll auf die Rechtschreibung geprüft werden. Also es können viele Worte sein.
Noch 'ne Idee ?
Gruß Frank H.
AW: Rechtschreibprüfung in TextBox
08.03.2017 11:34:29
EtoPHG
Hallo Frank H.
Egal wie oder was du machst. Die Methode ist zur Überprüfung eines Worts implementiert und nicht für ganze Texte. Diese Information stammt aus der MS-Dokumentation zur CheckSpelling Methode.
Also wäre die Idee: Textbox-Inhalt in Einzelworte splitten und dann Wort zu Wort prüfen!
Gruess Hansueli
Anzeige
AW: Wortprüfung des TextBox Inhalts.
08.03.2017 11:54:19
EtoPHG
Hallo Frank,
z.B. so (Textbox auf einem Tabellenblatt), Code im Tabellenblatt:
Private Sub TextBox1_LostFocus()
Dim tmp
Dim wrongWords As String
Dim lX As Long
tmp = Split(TextBox1, " ")
For lX = LBound(tmp) To UBound(tmp)
If Not Application.CheckSpelling(tmp(lX)) Then
wrongWords = wrongWords & tmp(lX) & " "
End If
Next lX
If Len(wrongWords) > 0 Then _
MsgBox "Folgende Wörter sind falsch:" & vbCrLf & _
wrongWords, vbExclamation, "Spell-Check"
End Sub
Gruess Hansueli
Anzeige
AW: Wortprüfung des TextBox Inhalts.
08.03.2017 18:28:26
Frank
Hallo Hansueli!
Komme erstjetzt zum antworten. Ich danke dir für deine Mühe und werde mich gleich mal daran machen, das ganze zu bewerkstelligen!
Also herzlichst Danke!
Gruß Frank H.
;
Anzeige
Anzeige

Infobox / Tutorial

Rechtschreibprüfung in TextBox in Excel


Schritt-für-Schritt-Anleitung

Um eine Rechtschreibprüfung in einer TextBox in Excel durchzuführen, kannst du den folgenden VBA-Code verwenden. Diese Methode prüft den gesamten Text in der TextBox, indem sie den Text in einzelne Wörter aufteilt und jedes Wort überprüft:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge in das entsprechende Arbeitsblatt den folgenden Code ein:
Private Sub TextBox1_LostFocus()
    Dim tmp
    Dim wrongWords As String
    Dim lX As Long
    tmp = Split(TextBox1, " ")
    For lX = LBound(tmp) To UBound(tmp)
        If Not Application.CheckSpelling(tmp(lX)) Then
            wrongWords = wrongWords & tmp(lX) & " "
        End If
    Next lX
    If Len(wrongWords) > 0 Then _
        MsgBox "Folgende Wörter sind falsch:" & vbCrLf & wrongWords, vbExclamation, "Spell-Check"
End Sub
  1. Schließe den VBA-Editor und teste die TextBox, indem du den Fokus verlierst (z.B. durch Klicken außerhalb der TextBox).

Häufige Fehler und Lösungen

  • Fehler: "Abbruch nach 256 Zeichen"

    • Lösung: Die CheckSpelling-Methode in Excel überprüft nur ein Wort auf einmal. Wenn du versuchst, eine lange Zeichenkette zu prüfen, kann dies zu einem Abbruch führen. Verwende stattdessen die oben gezeigte Methode, um den Text in Worte zu splitten.
  • Fehler: "Keine Rückmeldung"

    • Lösung: Achte darauf, dass der Code in der richtigen Subroutine (z.B. TextBox1_LostFocus) platziert ist. Wenn der Code nicht ausgeführt wird, könnte dies an einer falschen Platzierung liegen.

Alternative Methoden

Eine alternative Methode zur Rechtschreibprüfung in Excel könnte sein, den Text in eine temporäre Tabelle zu schreiben und dort die Rechtschreibprüfung durchzuführen. Hier ist ein Beispiel:

Sub checkerTB()
    Dim ws As Worksheet
    Dim wb As Workbook
    Dim orgSh As Worksheet
    Set orgSh = ActiveSheet
    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets.Add
    ws.Name = "RechtschreibungTemp"
    ws.Visible = xlSheetHidden
    ws.Range("A1").Value = Sheets("Tabelle1").TextBox1.Value
    ws.Range("A1").CheckSpelling
    Sheets("Tabelle1").TextBox1.Value = ws.Range("A1").Value
    Application.DisplayAlerts = False
    ws.Delete
    orgSh.Activate
End Sub

Diese Methode ist zwar nicht die eleganteste, funktioniert jedoch zuverlässig.


Praktische Beispiele

  • Beispiel 1: TextBox mit MultiLine-Eigenschaft

    • Stelle sicher, dass die TextBox in Excel die MultiLine-Eigenschaft aktiviert hat, damit du längere Texte eingeben kannst. Der oben angegebene Code zur Split-Funktion wird dann den gesamten Text korrekt überprüfen.
  • Beispiel 2: Integration in ein UserForm

    • Wenn du ein UserForm verwendest, kannst du die gleichen Prinzipien anwenden. Füge den Code in das entsprechende TextBox-Ereignis (z.B. LostFocus) ein.

Tipps für Profis

  • Überlege, ob du die Rechtschreibprüfung in Excel automatisieren möchtest. Du könntest ein Ereignis erstellen, das die Überprüfung bei jeder Eingabe aktiviert.
  • Nutze die CheckSpelling-Methode in Kombination mit anderen Excel-Funktionen, um eine umfassendere Textanalyse durchzuführen.
  • Halte Deinen Code organisiert und verwende Kommentare, um die Funktionsweise zu erklären, besonders wenn der Code komplexer wird.

FAQ: Häufige Fragen

1. Warum bricht die Rechtschreibprüfung nach 256 Zeichen ab?
Die CheckSpelling-Methode kann nur ein einzelnes Wort überprüfen. Um längere Texte zu überprüfen, musst du den Text in Wörter aufteilen.

2. Welche Excel-Version benötige ich für diese Methoden?
Die beschriebenen Methoden funktionieren in Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010 und später.

3. Wie kann ich die Rechtschreibprüfung für mehrere TextBoxen durchführen?
Du kannst die oben genannten Code-Snippets für jede TextBox anpassen oder in eine Schleife integrieren, die über alle TextBoxen iteriert.

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