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

VBA Rechtschreibprüfung

VBA Rechtschreibprüfung
11.03.2024 11:35:08
Schwalbe
Ein durch Kombination von 8 vorgegebenen Buchstaben erzeugtes achtstelliges Wort soll auf Rechtschreibung getestet werden. Falls OK, dann soll es plus ein Leerzeichen zu den bereits vorhandenen in eine Word-Datei geschrieben werden, falls nicht, dann nicht. Da sind 40.320 Worte zu prüfen. Idee?
Gruß Dieter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Rechtschreibprüfung
11.03.2024 12:11:33
Rolf
Hallo Dieter,
schau dir mal Application.CheckSpelling an.
Damit kannst du ein Wort auf Rechtschreibung prüfen. Wenn True dann Leerzeichen dazu und ab in die Word-Datei.

Gruß Rolf
AW: VBA Rechtschreibprüfung
12.03.2024 13:12:16
Schwalbe
Lieber Rolf, ganz herzlichen Dank!
Das war genau, was ich gesucht habe. Bingo! Jetzt muss ich mir noch einen Lehrgang in Kombinatorik beschaffen. Ich weiß zwar, dass es so etwas gibt - aber hab keine Ahnung. Ich bin bald 90 und erinnere mich, in der DDR-Oberschule schon mal etwas von Fakultät gehört zu haben, aber das ist auch alles. Und in der späteren Mathe kam so etwas nicht vor. Also Dankeschön!
Dieter
Anzeige
AW: VBA Rechtschreibprüfung
14.03.2024 12:33:49
Rolf
Hallo Dieter,
habe jetzt erst deine Antwort gesehen.
Ich weiß nicht, was du genau vorhast, aber bedenke bitte, dass es bei 8 Buchstaben genau Fakultät(8) (also 1*2*3*4*5*6*7*8 = 40320) Permutationen gibt.
Die müssen alle mit dem Wörterbuch verglichen werden.
Das kann, je nach Rechner, ziemlich lange dauern! (bis 7 Buchstaben gehts noch einigermaßen flott)
Hier mal ein Code zum Testen: (gehört in ein allgemeines Modul)
der listet alle Kombinationen der eingegebenen Buchstaben, die im Wörterbuch verzeichnet sind.


Dim iRow As Long
Sub GetString()
'***OriginalCode von KuTools for Excel
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
Dim lol As Long

xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Text eingeben:")
If Len(xStr) 2 Then Exit Sub
If Len(xStr) > 8 Then
MsgBox "zu viele Permutationen!", vbInformation
Exit Sub
Else
ActiveSheet.Columns(1).ClearContents
FRow = 1
Call GetPermutation("", xStr, FRow)
End If

lol = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:A" & lol).RemoveDuplicates Columns:=1, Header:=xlNo
iRow = 0
End Sub

Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen 2 Then
If Application.CheckSpelling(Str1 & Str2, , False) = True Then
iRow = iRow + 1
Range("A" & iRow) = Str1 & Str2
End If
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub


Gruß Rolf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige