WinFuture-Forum.de: Excel - Falsche Wörter Markieren Wie Bei Word (rechtschreibprüfung) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Office
Seite 1 von 1

Excel - Falsche Wörter Markieren Wie Bei Word (rechtschreibprüfung)


#1 Mitglied ist offline   Bib 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.091
  • Beigetreten: 06. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bayern

  geschrieben 02. Dezember 2008 - 13:29

Hallo, ist es möglich, sich bei Excel die falsch geschriebenen Wörter wie bei Word gleich orange unterstrichen anzeigen zu lassen?

Ich habe nur die Möglichkeit der manuellen Rechtschreibprüfung gefunden.

bei Excel 2000 + 2003
0

Anzeige



#2 Mitglied ist offline   DPXone 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 06. Juli 08
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 02. Dezember 2008 - 17:03

Hallo

also eine Funktion hierfür gibt es leider nicht.
Hab hier mal schnell ein Makro erstellt, welches aber leider nicht ganz genau deinen Anforderungen entspricht.
Man kann in Excel m.W. nach keine gezackte orangene Unterstreichung machen.Nur gerade Linie und das komplette Wort orange (was aber mit gedruckt werden würde).


Das Makro hier markiert die Wörter, die nicht im Wörterbuch stehen, mit einer doppelten Unterstreichung.
Einen anderen Weg seh ich leider nicht. Zum Drucken ist es leider nicht geeignet. Man könnte höchstens noch ein Makro schreiben, um die doppelten Unterstreichungen vor dem Drucken zurückzusetzen.


Den Makro-Code im VBA-Editor (In Excel die Tastenkombination: [ALT] + [F11] drücken) in die entsprechende Tabelle links im Projekt Explorer einfügen. z. B. in "Tabelle 1".

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
	Dim Wert, Werte, FalseWörter(1 To 1000), i As Long, j As Long
	
	Werte = Split(Target.Value)
	
	For Each Wert In Werte
			With Target.Characters(InStr(Target, Wert), Len(Wert)).Font
				If .Underline = xlUnderlineStyleDouble Then .Underline = xlNone
			End With
	Next
	
	For Each Wert In Werte
		If Application.CheckSpelling(Wert) = False Then
			i = i + 1
			FalseWörter(i) = Wert
		End If
	Next
	
	For j = 1 To i
		Target.Characters(InStr(Target, FalseWörter(j)), Len(FalseWörter(j))).Font.Underline = xlUnderlineStyleDouble
	Next

End Sub

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0