Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Buchstaben-Rätsel

78 views
Skip to first unread message

Michael Mueller

unread,
Aug 11, 1999, 3:00:00 AM8/11/99
to
Hallo zusammen,
ist es möglich, mit Excel 97 eine 8-stellige Buchstaben-Kombination so
aufzulösen, daß man alle Konstellationen (8^8 ?) bekommt?
(z.B. zum Lösen v. Buchstabenrätseln)
als Beispiel:
aus: "WOTEFARS"
soll dann (irgendwann) werden: "SOFTWARE"
Danke im voraus
Michael

--
Mi.Mu...@t-online.de
--

Jörg Nissen

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Hallo Michael,

wenn ich Formeln für logische Reihen noch richtig in Erinnerung habe (meine
Schulzeit, in der ich sowas mit viel Spaß angegangen bin, liegt schon etwas
zurück ;-)), dann lautet die Formel zur Ermittlung der möglichen
Kombinationen für Buchstabenrätsel <Anzahl Zeichen>! (sprich: Fakultät).

Das sind bei 8 Buchstaben zwar immer noch eine ganze Menge Kombinationen
(8*7*6*5*4*3*2), aber immerhin schon erheblich weniger als 8^8.

Diese Probleme lassen sich zwar durch entsprechende Algorythmen in VBA
lösen, aber welche arme Seele soll denn dann die (in Deinem Beispiel) 40.320
Ergebnisworte durchsehen und daraus dann auch noch die richtige Lösung
extrahieren?

Das menschliche Gehirn mit seinen elektronisch nicht vollständig abbildbaren
Funktionen ist da doch viel leistungsfähiger :)

Jörg

Michael Mueller <Mi.Mu...@t-online.de> schrieb in im Newsbeitrag:
37b1ef66...@msnews.microsoft.com...

Michael Mueller

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Hallo Jörg,

<snip>


>Diese Probleme lassen sich zwar durch entsprechende Algorythmen in VBA
>lösen, aber welche arme Seele soll denn dann die (in Deinem Beispiel) 40.320
>Ergebnisworte durchsehen und daraus dann auch noch die richtige Lösung
>extrahieren?
>

Daran hab' ich gar nicht gedacht ;-(

>Das menschliche Gehirn mit seinen elektronisch nicht vollständig abbildbaren
>Funktionen ist da doch viel leistungsfähiger :)
>

Da hast wohl Du wohl recht...
Trotzdem Dank für's 'Augenöffnen'
Michael
--
Mi.Mu...@t-online.de
--

Robert Feldmann

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Jörg Nissen schrieb:

>
> Hallo Michael,
>
> wenn ich Formeln für logische Reihen noch richtig in Erinnerung habe
> Kombinationen für Buchstabenrätsel <Anzahl Zeichen>! (sprich: > Fakultät).
>
> Das sind bei 8 Buchstaben zwar immer noch eine ganze Menge > Kombinationen
> (8*7*6*5*4*3*2), aber immerhin schon erheblich weniger als 8^8.

Das kann ich nicht ganz nachvollziehen. Wenn ich als beispiel mal 2
Buchstaben nehme (AB), so sind es 4 Möglichkeiten. (2*2)
AA, AB, BA, BB.
Nehme ich 3 Buchstaben (ABC), so kommen schon 27 Variationen in
betracht.
AAA, AAB, AAC, ABA, ABB, ABC, ACA, ACB, ACC, ACA, ACB, ACC, BAA, BAB,
BAC, BBA, BBB, BBC, BCA, BCB, BCC, CAA, CAB, CAC, CBA, CBB, CBC, CCA,
CCB, CCC.
Also 3*3*3. Eigentlich müßte bei 8 Buchstaben dann also mit
8*8*8*8*8*8*8*8 gerechnet werden. Das währen, nach Excel, genau
soviele Zellen, wie Excel zur Verfügung hat. Das sind 16.777.216.
Außerdem läuft solch ein Makro Stunden.
(Tut es gerade im Hintergrund.) Ich habe es gerade, nach etwa 2
Stunden (Rechner ist ein P133 mit 48MB Ram.) abgebrochen. Es ist in
Spalte R, in Zelle 52446 stehen geblieben. Das sind erst 1.101.022.
Ich hatte ABCDEFGH benutzt und es ist bis AEDEGDBE gekommen. Wieviele
verwertbare Wörter dabei heraus gekommen sind, mag jeder selbst
entscheiden.

Ansonsten wie Du schon sagtest. Aus diesem Wust
Buchstabenkombinationen Worte rauszufinden dürfte schwieriger sein als
intuitiv Wortkombinationen "Manuell" auszutesten. :-))

Hier trotzdem das Makro, für alle die einen schnelleren Rechner
haben.:-)) Ob das mit der Zeitangabe geklappt hätte, keine Ahnung.
Ansonsten Zeilenumbrüche korrigieren und testen.

Sub Kombinationen()
Dim Str As Variant
Dim i%, y%, x%, z%, z2%, z3%, z4%, z5%, R, C%
Dim StartZeit, EndZeit
Str = Array("A", "B", "C", "D", "E", "F", "G", "H")
C = 1
R = 1
StartZeit = Time
For i = 0 To UBound(Str)
For y = 0 To UBound(Str)
For x = 0 To UBound(Str)
For z = 0 To UBound(Str)
For z2 = 0 To UBound(Str)
For z3 = 0 To UBound(Str)
For z4 = 0 To UBound(Str)
For z5 = 0 To UBound(Str)
If R < 65536 Then
Cells(R, C) = Str(i) & Str(0 + y) &
Str(0 + x) & Str(0 + z) & Str(0 + z2) & Str(0 + z3) & Str(0 + z4) &
Str(0 + z5)
Else
C = C + 1
R = 1
Cells(R, C) = Str(i) & Str(0 + y) &
Str(0 + x) & Str(0 + z) & Str(0 + z2) & Str(0 + z3) & Str(0 + z4) &
Str(0 + z5)
End If
R = R + 1
Next z5
Next z4
Next z3
Next z2
Next z
Next x
Next y
Next i
EndZeit = Time
MsgBox ("Beginn: " & StartZeit & "Ende: " & EndZeit & "Laufzei: " &
EndZeit - StartZeit)
End Sub


--
bis dann,
Robert

Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.

Peter Dorigo

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Hallo Robert

Hier gehts nicht darum, wieviele Wörter mit einem
Zeichensatz von 8 Buchstaben gebildet werden
können (8^8), sondern wieviele Anordnungen für
8 *verschiedene* Buchstaben möglich sind (8!)
Für 2 Bchst sind das die Komb AB, BA (2! = 2)
Für 3 Bchst: ABC, ACB, BAC, BCA, CAB, CBA (3! = 6)
Jörg hat das schon richtig berechnet.

mfg Peter


Robert Feldmann schrieb in Nachricht
<37B2C7B5...@netcologne.de>...

Holger Ostlender

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Hi Robert,

Du schilderst hier den Fall, indem gezogene Buchstaben wieder gezogen
werden können, gefragt ist allerdings der Fall, das diese Buchstaben nur
einmal vorkommen können.

Gruß
Holger


Robert Feldmann <nc-fe...@netcologne.de> schrieb im Beitrag

Holger Ostlender

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
Hi Jörg,

eine Prüfung, ob dieses Wort existiert, kann Dir die Rechtschreibprüfung
geben.
CheckSpelling
Jetzt müßtest Du nur noch den entsprechenden Algorythmus entwickeln. ;-))

Gruß
Holger


Jörg Nissen <joerg....@netsurf.de> schrieb im Beitrag
<OejvIEJ5#GA.230@cppssbbsa04>...


> Hallo Michael,
>
> wenn ich Formeln für logische Reihen noch richtig in Erinnerung habe

(meine
> Schulzeit, in der ich sowas mit viel Spaß angegangen bin, liegt schon
etwas
> zurück ;-)), dann lautet die Formel zur Ermittlung der möglichen

> Kombinationen für Buchstabenrätsel <Anzahl Zeichen>! (sprich: Fakultät).
>
> Das sind bei 8 Buchstaben zwar immer noch eine ganze Menge Kombinationen
> (8*7*6*5*4*3*2), aber immerhin schon erheblich weniger als 8^8.
>

> Diese Probleme lassen sich zwar durch entsprechende Algorythmen in VBA
> lösen, aber welche arme Seele soll denn dann die (in Deinem Beispiel)
40.320
> Ergebnisworte durchsehen und daraus dann auch noch die richtige Lösung
> extrahieren?
>

> Das menschliche Gehirn mit seinen elektronisch nicht vollständig
abbildbaren
> Funktionen ist da doch viel leistungsfähiger :)
>

Pixeltester

unread,
Aug 12, 1999, 3:00:00 AM8/12/99
to
> Hallo Michael,
>
> wenn ich Formeln für logische Reihen noch richtig in Erinnerung habe
> Kombinationen für Buchstabenrätsel <Anzahl Zeichen>! (sprich: > Fakultät).
>
> Das sind bei 8 Buchstaben zwar immer noch eine ganze Menge > Kombinationen
> (8*7*6*5*4*3*2), aber immerhin schon erheblich weniger als 8^8.

Das kann ich nicht ganz nachvollziehen. Wenn ich als beispiel mal 2

Buchstaben nehme (AB), so sind es 4 Möglichkeiten. (2*2)
AA, AB, BA, BB.
Nehme ich 3 Buchstaben (ABC), so kommen schon 27 Variationen in
betracht.
AAA, AAB, AAC, ABA, ABB, ABC, ACA, ACB, ACC, ACA, ACB, ACC, BAA, BAB,
BAC, BBA, BBB, BBC, BCA, BCB, BCC, CAA, CAB, CAC, CBA, CBB, CBC, CCA,
CCB, CCC.
Also 3*3*3. Eigentlich müßte bei 8 Buchstaben dann also mit
8*8*8*8*8*8*8*8 gerechnet werden. Das währen, nach Excel, genau
soviele Zellen, wie Excel zur Verfügung hat. Das sind 16.777.216.
Außerdem läuft solch ein Makro Stunden.
(Tut es gerade im Hintergrund.) Ich habe es gerade, nach etwa 2
Stunden (Rechner ist ein P133 mit 48MB Ram.) abgebrochen. Es ist in
Spalte R, in Zelle 52446 stehen geblieben. Das sind erst 1.101.022.
Ich hatte ABCDEFGH benutzt und es ist bis AEDEGDBE gekommen. Wieviele
verwertbare Wörter dabei heraus gekommen sind, mag jeder selbst
entscheiden.

Ansonsten wie Du schon sagtest. Aus diesem Wust
Buchstabenkombinationen Worte rauszufinden dürfte schwieriger sein als
intuitiv Wortkombinationen "Manuell" auszutesten. :-))

Hier trotzdem das Makro, für alle die einen schnelleren Rechner
haben.:-)) Ob das mit der Zeitangabe geklappt hätte, keine Ahnung.
Ansonsten Zeilenumbrüche korrigieren und testen.

[Makro gesnippt]

--
bis dann,
Robert

Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.

Hallo Robert,

ich hab Dein Makro für Excel 7.0 umgeschrieben und laufen lassen.
Laut meiner hochrechnung würde der Ablauf des Makros 3 1/2 Std.
dauern. Ach ja, ich hab einen AMD K6II 300 MHz mit 64 MB Ram
und 128 MB Virtuellen Speicher. Ich habe es aber nicht durchlaufen
lassen.

Das mit den 'richtigen' Kombinationen - Da hab ich mir die Zähne
ausgebissen. Wenn einer also ein Makro zusammenbekommt, dem
man einen Text übergibt und dann alle möglichkeiten der Buchstaben
ausgibt, ich bin auch daran interessiert. Wenn es recht groß wird, bitte
an  Private Adresse  senden.

Viele Grüße an die NG, macht weiter so, man lernt ja nie aus ...

Marco Amistadi

P.S: Für alle die es noch nicht Wissen (wird keiner sein ;)),
morgen ist Freitag der 13. Also Obacht! ;)
 

Jörg Nissen

unread,
Aug 13, 1999, 3:00:00 AM8/13/99
to
Hallo Robert, hallo Marco,

zu der Überlegung von Robert verweise ich einfach auf die anderen Postings
zu diesem Thema. Bei Buchstabenrätseln habe ich tatsächlich nur 8 Zeichen
zur Verfügung, nicht 8 Zeichen, die ich beliebig oft wiederholen kann. Stell
Dir das wie Scrabble vor, wo Du 8 Buchstaben gezogen hast und sollst diese
nun in allen Kombinationen auslegen. Wenn Du nur ein "A" gezogen hast,
kannst Du es auch nur einmal verwenden, nicht 8 Mal.

Zu der Lösung in Form eines kleinen VBA-Makros: wie ich schon erwähnt habe,
war in meiner laaangeee zurückliegenden Schulzeit das finden von Algorythmen
eine meiner Lieblingsbeschäftigungen. Deshalb hier eine Q&D Lösung, die bis
maximal 8 Buchstaben funktioniert. Sie läßt sich noch ausbauen, wenn jemand
Lust dazu hat.

Ich habe auch gleich die Rechtschreibprüfung mit eingebunden. Im
Ausgangsfall (durcheinandergeschütteltes "SOFTWARE") komme ich auf 4
Ergebniswörter:
WERTSOFA
WORTSAFE
SOFTWARE
SOFAWERT

Interessant, was die Rechtschreibprüfung für komische Wörter kennt ;-)

Die Laufzeit bis zum Endergebnis beträgt auf meinem System (AMD K6-III 400,
128 MB) rund 10 Minuten. Der Löwenanteil davon entfällt auf die Suche nach
sinnvollen Worten. Also nichts mit 3,5 Stunden und länger.

Doch hier nun zum Makro mit der Bitte, wenn jemand in Preisrätseln die
großen Gewinne abräumt, diese mit mir zu Teilen ;-)

Sub Buchstabensuppe()
Dim cBuchstaben As String
Dim cZeichen As String
Dim iPosKette As Integer
Dim iPos As Integer
Dim iRow As Long
Dim iRowNew As Long
Dim iCol As Long

cBuchstaben = InputBox("Bitte Zeichenkette eingeben")

ActiveSheet.Range("A1").Value = Left(cBuchstaben, 2)
ActiveSheet.Range("A2").Value = Mid(cBuchstaben, 2, 1) & _
Left(cBuchstaben, 1)

iCol = 2
For iPosKette = 3 To Len(cBuchstaben)
iRowNew = 1
cZeichen = Mid(cBuchstaben, iPosKette, 1)

For iRow = 1 To Fak(iPosKette - 1)
For iPos = 1 To iPosKette
With ActiveSheet.Cells(iRowNew, iCol)
Select Case iPos
Case Is = 1
.Value = cZeichen & ActiveSheet.Cells(iRow, iCol - 1).Value
Case Else
.Value = Left(ActiveSheet.Cells(iRow, iCol - 1).Value, iPos -
1) & _
cZeichen & _
Right(ActiveSheet.Cells(iRow, iCol - 1).Value,
iPosKette - iPos)
End Select
End With

iRowNew = iRowNew + 1
Next iPos
Next iRow

iCol = iCol + 1
Next iPosKette

iRowNew = 1
For iRow = 1 To Fak(Len(cBuchstaben))
With ActiveSheet.Cells(iRow, iCol - 1)
If Application.CheckSpelling(.Value, "Benutzer.dic", False) Then
ActiveSheet.Cells(iRowNew, iCol).Value = .Value
iRowNew = iRowNew + 1
End If
End With
Next iRow
End Sub

Dazu gehört noch eine kleine Funktion zur Fakultätsberechnung (aus der
Online-Hilfe geklaut):

Function Fak(iVal As Integer) As Long
If iVal = 1 Then
Fak = 1
Else
Fak = Fak(iVal - 1) * iVal
End If
End Function


Kurz zur Erläuterung des Vorgehens: Ich habe die Logik der
Fakultätsberechnung zugrundegelegt. Fakultät 1 (entspricht einem Zeichen)
ergibt nur eine Möglichkeit, dieses Zeichen anzuordnen. Davon ausgehend
ergibt sich bei Fakultät 2, das 2. Zeichen links oder rechts vom ersten
Zeichen zu positionieren. Das 3 Zeichen läßt sich dann links, in der Mitte
oder recht in die 1. zweier-Kombination einbauen und ebenso in die zweite
zweier-Kombination. Daraus ergeben sich 6 dreier-Kombinationen, die wieder
entsprechend mit dem 4. Zeichen kombiniert werden, usw.

Für die Lösung ist es unerheblich, daß die Kombinationen mit weniger als der
Anzahl Zeichen des Buchstabensalats nicht vollständig sind, da nur das Wort
gesucht wird, das alle Zeichen des Buchstabensalats verwendet. Würden alle
Worte gesucht, die sich aus den Zeichen des Buchstabensalats bilden lassen,
wäre der Algorythmus etwas zu modifizieren.


Viel Spaß beim gewinnen und optimieren,

Jörg


Pixeltester <Pi...@Pixeltester.de> schrieb in im Newsbeitrag:
37B307F8...@Pixeltester.de...

Andreas Steffens

unread,
Aug 13, 1999, 3:00:00 AM8/13/99
to
Hallo Jörg,

> Zu der Lösung in Form eines kleinen VBA-Makros: wie ich schon erwähnt
habe,
> war in meiner laaangeee zurückliegenden Schulzeit das finden von
Algorythmen
> eine meiner Lieblingsbeschäftigungen. Deshalb hier eine Q&D Lösung,
die bis
> maximal 8 Buchstaben funktioniert. Sie läßt sich noch ausbauen, wenn
jemand
> Lust dazu hat.

Ich habe mal eine Routine mit einem rekursiven Ansatz gebastelt. Es
werden nur im Wörterbuch gefundene Begriffe ausgegeben (sonst wird Excel
gesprengt ;-) )

Public Zeile As Long
Public ES As String
Public Laenge As Long

Sub raetsel()
Zeile = 1
ES = ""
St = InputBox("Geben Sie bitte die Zeichenfolge ein:")
Laenge = Fak(Len(St))
SZ = Now
bsalat St
MsgBox "Laufzeit: " & Format(Now - SZ, "hh:mm:ss")
Application.StatusBar = False
End Sub

Sub bsalat(ByVal St As String)
ls = Len(St)
If ls > 1 Then
For i = 1 To ls
ES = ES & Mid(St, i, 1)
If i = 1 Then
bsalat Right(St, ls - 1)
ElseIf i = ls Then
bsalat Left(St, ls - 1)
Else
bsalat Left(St, i - 1) & Right(St, ls - i)
End If
ES = Left(ES, Len(ES) - 1)
Next
Else
ES = ES & St
If Application.CheckSpelling(ES, "Benutzer.dic", False) Then
Cells(Zeile, 1).Formula = ES
Zeile = Zeile + 1
End If
Laenge = Laenge - 1
Application.StatusBar = Laenge & " " & ES
ES = Left(ES, Len(ES) - 1)
End If
End Sub

Function Fak(iVal As Integer) As Long
If iVal = 1 Then
Fak = 1
Else
Fak = Fak(iVal - 1) * iVal
End If
End Function

> Die Laufzeit bis zum Endergebnis beträgt auf meinem System (AMD K6-III
400,
> 128 MB) rund 10 Minuten. Der Löwenanteil davon entfällt auf die Suche
nach
> sinnvollen Worten. Also nichts mit 3,5 Stunden und länger.

Die Laufzeit betrug beim gleichen Testbergriff ("SOFTWARE") 15min auf
meinem K6-2-350 mit 192MB RAM (zum Vergleich: Deine Routine benötigte
bei mir 20min, ich glaube ich brauche einen neuen Proz :-|). Wenn man
die Routine mehrfach abbricht und zu schnell wieder startet, kann es zu
Stapelspeichermangel kommen.
Die Routine kann prinzipiell beliebig lange Texte verarbeiten;
jedenfalls steigt die FAK-Funktion vorher aus ;-) (dient ja nur der
Anzeige der verbleibenden Kombinationen, kann also deaktiviert werden)

Have a nice weekend,
Andreas


Robert Feldmann

unread,
Aug 13, 1999, 3:00:00 AM8/13/99
to
Peter Dorigo schrieb:

>
> Hallo Robert
>
> Hier gehts nicht darum, wieviele Wörter mit einem
> Zeichensatz von 8 Buchstaben gebildet werden
> können (8^8), sondern wieviele Anordnungen für
> 8 *verschiedene* Buchstaben möglich sind (8!)
> Für 2 Bchst sind das die Komb AB, BA (2! = 2)
> Für 3 Bchst: ABC, ACB, BAC, BCA, CAB, CBA (3! = 6)
> Jörg hat das schon richtig berechnet.

Klar! Vielleicht sollte ich mich erst mit allen Fakten befassen, bevor
ich mich mit Lösungen beschäftige.

Jörg Nissen

unread,
Aug 13, 1999, 3:00:00 AM8/13/99
to
Hallo Andreas,

nette Variante :)

Sie profitiert davon, daß keine Ausgaben in irgendwelche Worksheets gemacht
werden und spart vermutlich deshalb entsprechend Zeit. Ich weiß nicht, wie
groß die Schachtelungstiefe für rekursive Funktionen ist, aber die ist
soweit ich erkennen kann, die einzige Grenze, auf die Deine Lösung stößt.

Ich habe meine Lösung noch so weit modifiziert, daß die Zellen des
Arbeitsblattes nicht mehr spaltenweise, sondern kontinuierlich gefüllt
werden. Das hat mich auf ein Maximum von 12 Buchstaben gebracht. Ich habe
nicht getestet, ob mit Application.ScreenUpdating = False ein signifikanter
Geschwindigkeitsschub zustandekommt, da mich die ganze Sache nur von den
möglichen Algorythmen her interessiert.

Jörg


Andreas Steffens <Andreas....@post.rwth-aachen.de> schrieb in im
Newsbeitrag: uTmSlwY5#GA.312@cppssbbsa03...
> Hallo Jörg,


>
> > Zu der Lösung in Form eines kleinen VBA-Makros: wie ich schon erwähnt
> habe,
> > war in meiner laaangeee zurückliegenden Schulzeit das finden von
> Algorythmen
> > eine meiner Lieblingsbeschäftigungen. Deshalb hier eine Q&D Lösung,
> die bis
> > maximal 8 Buchstaben funktioniert. Sie läßt sich noch ausbauen, wenn
> jemand
> > Lust dazu hat.
>

> Function Fak(iVal As Integer) As Long
> If iVal = 1 Then
> Fak = 1
> Else
> Fak = Fak(iVal - 1) * iVal
> End If
> End Function
>
>

> > Die Laufzeit bis zum Endergebnis beträgt auf meinem System (AMD K6-III
> 400,
> > 128 MB) rund 10 Minuten. Der Löwenanteil davon entfällt auf die Suche
> nach
> > sinnvollen Worten. Also nichts mit 3,5 Stunden und länger.
>

Jörg Nissen

unread,
Aug 13, 1999, 3:00:00 AM8/13/99
to
Hallo Andreas,

komisch, Zeitmessungen schaffen es irgendwie doch immer noch, mich
herauszufordern ... ;-)

Die von mir erwähnte Modifikation findet das Endergebnis nach 6:58. Deine
Lösung benötigt bei mir 6:39. Das hat mich etwas überrascht, da ich aufgrund
der fehlenden Tabelleninteraktion mit wesentlich kürzerer Zeit gerechnet
hatte. Deshalb habe ich die Ausgaben in die Statusbar mal deaktiviert. Auch
das Ergebnis ist mit 6:29 eher ernüchternd als bahnbrechend.

Bleibt abschließend wohl nur festzustellen, daß Du tatsächlich eine neue CPU
brauchst ;-)

Erstaunlich auch, daß es keinen signifikanten Unterschied macht, ob man
seine Ergebnisse in einem Tabellenblatt ablegt oder sie in lokalen Variablen
hält. Bleibt bei Deiner Lösung nur der Vorteil, daß sie eine bis jetzt noch
unbekannt lange Zeichenkette verarbeiten kann, wobei der Unterschied
zwischen 12 und unbekannt auch keine große Rolle mehr spielt, wenn man den
exponentiellen Anstieg der Ergebnismenge und damit der Laufzeit in Betracht
zieht.


Jörg


Andreas Steffens <Andreas....@post.rwth-aachen.de> schrieb in im
Newsbeitrag: uTmSlwY5#GA.312@cppssbbsa03...
> Hallo Jörg,
>

> > Zu der Lösung in Form eines kleinen VBA-Makros: wie ich schon erwähnt
> habe,
> > war in meiner laaangeee zurückliegenden Schulzeit das finden von
> Algorythmen
> > eine meiner Lieblingsbeschäftigungen. Deshalb hier eine Q&D Lösung,
> die bis
> > maximal 8 Buchstaben funktioniert. Sie läßt sich noch ausbauen, wenn
> jemand
> > Lust dazu hat.
>

> Function Fak(iVal As Integer) As Long
> If iVal = 1 Then
> Fak = 1
> Else
> Fak = Fak(iVal - 1) * iVal
> End If
> End Function
>
>

> > Die Laufzeit bis zum Endergebnis beträgt auf meinem System (AMD K6-III
> 400,
> > 128 MB) rund 10 Minuten. Der Löwenanteil davon entfällt auf die Suche
> nach
> > sinnvollen Worten. Also nichts mit 3,5 Stunden und länger.
>

Pixeltester

unread,
Aug 14, 1999, 3:00:00 AM8/14/99
to
Andreas Steffens schrieb:

> Hallo Jörg,


>
> > Zu der Lösung in Form eines kleinen VBA-Makros: wie ich schon erwähnt
> habe,
> > war in meiner laaangeee zurückliegenden Schulzeit das finden von
> Algorythmen
> > eine meiner Lieblingsbeschäftigungen. Deshalb hier eine Q&D Lösung,
> die bis
> > maximal 8 Buchstaben funktioniert. Sie läßt sich noch ausbauen, wenn
> jemand
> > Lust dazu hat.
>

> Function Fak(iVal As Integer) As Long
> If iVal = 1 Then
> Fak = 1
> Else
> Fak = Fak(iVal - 1) * iVal
> End If
> End Function
>

> > Die Laufzeit bis zum Endergebnis beträgt auf meinem System (AMD K6-III
> 400,
> > 128 MB) rund 10 Minuten. Der Löwenanteil davon entfällt auf die Suche
> nach
> > sinnvollen Worten. Also nichts mit 3,5 Stunden und länger.
>

> Die Laufzeit betrug beim gleichen Testbergriff ("SOFTWARE") 15min auf
> meinem K6-2-350 mit 192MB RAM (zum Vergleich: Deine Routine benötigte
> bei mir 20min, ich glaube ich brauche einen neuen Proz :-|). Wenn man
> die Routine mehrfach abbricht und zu schnell wieder startet, kann es zu
> Stapelspeichermangel kommen.
> Die Routine kann prinzipiell beliebig lange Texte verarbeiten;
> jedenfalls steigt die FAK-Funktion vorher aus ;-) (dient ja nur der
> Anzeige der verbleibenden Kombinationen, kann also deaktiviert werden)
>
> Have a nice weekend,
> Andreas

Hallo Andreas und alle anderen, die sich hiermit beschäftigt haben.

Ich hätte nochmal eine Frage zu Andreas' Version. Unter Excel 7.0
läuft sie einwandfrei in 48 sec, wobei sie alle Kombinationen ausgibt.

Meine Frage ist nun, WO liegt das Excel-Wörterbuch und WIE heißt
dieses? Könnte ich vielleicht das von Word kopieren und verwenden?
Wenn ich auf Rechtschreibung gehe, dann sagt er, Excel kann Deutsches
Wörterbuch nicht finden oder falsches deutsches Wörterbuch (nach
neuinstallation der Rechtschreibung) :(.

Kann mir einer einen Tip geben??

Marco Amistadi (Excel 7.0)


Jörg Nissen

unread,
Aug 16, 1999, 3:00:00 AM8/16/99
to
Hallo Marco,

> Ich hätte nochmal eine Frage zu Andreas' Version. Unter Excel 7.0
> läuft sie einwandfrei in 48 sec, wobei sie alle Kombinationen ausgibt.

der nackte Wahnsinn. Was für ein Prozessor tickt denn in Deinem Gehäuse?
Oder sind die 48 sec. das Ergebnis ohne durchgeführte Rechtschreibprüfung?


> Meine Frage ist nun, WO liegt das Excel-Wörterbuch und WIE heißt
> dieses? Könnte ich vielleicht das von Word kopieren und verwenden?

Wenn ich mich richtig erinnere, werden seit den 32-Bit Versionen des
Office-Pakets die Wörterbücher im Windows-Verzeichnis unter MSAPPS\PROOF
abgelegt. Das Excel-Wörterbuch ist das Word-Wörterbuch (es gibt nur das
eine).


Jörg


Michael Mueller

unread,
Aug 16, 1999, 3:00:00 AM8/16/99
to
Hallo Andreas,
nachdem ich mich eigentlich schon damit abgefunden hatte, daß mein
'Begehren' Excel' überfordern würde, bin ich jetzt natürlich umso
begeisterter, daß es doch geht :-))
Zur Info: Ich brauche für mein Beispiel ('SOFTWARE') nur 09:30 min...
PII 300, 128 MB
Die Idee mit dem Wörterbuch find ich Klasse!
Vielen Dank
Michael

>On Fri, 13 Aug 1999 14:59:14 +0200, "Andreas Steffens" <Andreas....@post.rwth-aachen.de> wrote:

>Ich habe mal eine Routine mit einem rekursiven Ansatz gebastelt. Es
>werden nur im Wörterbuch gefundene Begriffe ausgegeben (sonst wird Excel
>gesprengt ;-) )

>Have a nice weekend,
>Andreas

--
Mi.Mu...@t-online.de
--

Pixeltester

unread,
Aug 16, 1999, 3:00:00 AM8/16/99
to
Hallo Jörg,

> Hallo Marco,
>
> > Ich hätte nochmal eine Frage zu Andreas' Version. Unter Excel 7.0
> > läuft sie einwandfrei in 48 sec, wobei sie alle Kombinationen ausgibt.
>
> der nackte Wahnsinn. Was für ein Prozessor tickt denn in Deinem Gehäuse?
> Oder sind die 48 sec. das Ergebnis ohne durchgeführte Rechtschreibprüfung?

Ja, ohne Rechtschreibprüfung, da er damit probleme hatte. Ich habe mir einfach

alle Kombinationen ausgeben lassen. Mein Prozessor ist ein lahmer AMD K6II
mit 300 MHz. ;)

> > Meine Frage ist nun, WO liegt das Excel-Wörterbuch und WIE heißt
> > dieses? Könnte ich vielleicht das von Word kopieren und verwenden?
>
> Wenn ich mich richtig erinnere, werden seit den 32-Bit Versionen des
> Office-Pakets die Wörterbücher im Windows-Verzeichnis unter MSAPPS\PROOF
> abgelegt. Das Excel-Wörterbuch ist das Word-Wörterbuch (es gibt nur das
> eine).
>
> Jörg

Nun gut, dann muß ich halt Excel mal irgendwie beibringen, wie es auf dieses
zugreifen soll. Wie gesagt, ich habe es über Setup schonmal entfernt und
wieder installiert, trotzdem findet er es nicht *grrr*.
Noch irgendwelche Ideen?

Marco Amistadi

Jörg Nissen

unread,
Aug 16, 1999, 3:00:00 AM8/16/99
to
Hallo Marco,

schau Dir mal in der Registry den Schlüssel HKLM\SOFTWARE\Microsoft\Shared
Tools\Proofing Tools\Spelling an.

Dort sind die Pfade zu den installierten Wörterbüchern hinterlegt. Außerdem
stehen im Unterschlüssel Vendor\Clients die Pfade zu den Applikationen, die
auf die Wörterbücher zugreifen.

Evtl. findest Du dort ein paar Ungereimtheiten bzgl. der installierten
Programme und den Verzeichnissen.


Jörg


0 new messages