Hallo,
ich würde gerne alle möglichen Wortkombinationen von „Toshiba“ haben, das wären 5040 Stück, was ein bisschen viel ist um sie von Hand zu tippen. Kann man das nicht mit irgendeiner Formel machen, a la wenn Feld X gleich Feld Y dann schreib „blablabla“, so dass am Ende alle Varianten erscheinen?
ich würde gerne alle möglichen Wortkombinationen von „Toshiba“
haben, das wären 5040 Stück, was ein bisschen viel ist um sie
von Hand zu tippen. Kann man das nicht mit irgendeiner Formel
machen, a la wenn Feld X gleich Feld Y dann schreib
„blablabla“, so dass am Ende alle Varianten erscheinen?
Hi Agi,
klar geht das sicher auch mit einer Formel, im Inet fand ich eine für die Kombination von abc über alle 26 Buchstaben, das sieht dann so aus:
=INDEX(BEREICH.VERSCHIEBEN($A$1;;;;ANZAHL2($1:blush:1));;GANZZAHL(REST
((ZEILE(A1)-1)/ANZAHL2($1:blush:1)/ANZAHL2($1:blush:1);ANZAHL2($1:blush:1))+1))&INDEX
(BEREICH.VERSCHIEBEN($A$1;;;;ANZAHL2($1:blush:1));;GANZZAHL(REST((ZEILE
(A1)-1)/ANZAHL2($1:blush:1);ANZAHL2($1:blush:1))+1))&INDEX(BEREICH.VERSCHIEBEN
($A$1;;;;ANZAHL2($1:blush:1));;REST(ZEILE(A1)-1;ANZAHL2($1:blush:1))+1)
und du willst ja abcdefg über 7 Buchstaben kombinieren, also müßte man die Formel geringfügig anpassen 
Hier gibt es eine fertige Vba-Lösung:
http://groups.google.de/group/microsoft.public.de.ex…
Und, falls es diesen Link mal nicht mehr gibt, nachfolgend fürs Archiv den Code. Ich habe ihn nur beschleunigt weil er zu langsam lief.
In A1:A7 schreibt man untereinander T o s h …, Ergebnis kommt dann in Spalte B.
Sub Test()
Dim i As Long
Dim src As Range
Dim dest As Range
Dim y() As String
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set src = Range("A1")
Set dest = Range("B1")
ReDim y(1 To 1)
y(1) = ""
Do Until IsEmpty(src)
Include Left(src.Text, 1), y
Set src = src.Offset(1, 0)
Loop
For i = 1 To UBound(y)
dest(i, 1).Value = y(i)
Next i
dest.Resize(UBound(y)).Sort dest
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Private Sub Include(x As String, y As Variant)
Dim i As Long
Dim j As Long
Dim m As Long
Dim n As Long
m = UBound(y)
n = Len(y(1))
ReDim Preserve y(1 To m \* (n + 1))
For i = n To 0 Step -1
For j = 1 To m
y(i \* m + j) = Left(y(j), i) & x & Right(y(j), n - i)
Next j
Next i
End Sub
Hi Agi,
klar geht das sicher auch mit einer Formel, im Inet fand ich
eine für die Kombination von abc über alle 26 Buchstaben, das
sieht dann so aus:
=INDEX(BEREICH.VERSCHIEBEN($A$1;;;;ANZAHL2($1:blush:1));;GANZZAHL(REST
((ZEILE(A1)-1)/ANZAHL2($1:blush:1)/ANZAHL2($1:blush:1);ANZAHL2($1:blush:1))+1))&INDEX
(BEREICH.VERSCHIEBEN($A$1;;;;ANZAHL2($1:blush:1));;GANZZAHL(REST((ZEILE
(A1)-1)/ANZAHL2($1:blush:1);ANZAHL2($1:blush:1))+1))&INDEX(BEREICH.VERSCHIEBEN
($A$1;;;;ANZAHL2($1:blush:1));;REST(ZEILE(A1)-1;ANZAHL2($1:blush:1))+1)
und du willst ja abcdefg über 7 Buchstaben kombinieren, also
müßte man die Formel geringfügig anpassen 
Jetzt bin ich ja ein bisschen beeindruckt, nicht schlecht… Leider habe ich überhaupt gar keinen Plan, was ich jetzt wie und wo eingeben soll. Das mit dem t in a1, o in a2 usw. hab ich ja noch kapiert, aber dann…
Jetzt bin ich ja ein bisschen beeindruckt, nicht schlecht…
Leider habe ich überhaupt gar keinen Plan, was ich jetzt wie
und wo eingeben soll. Das mit dem t in a1, o in a2 usw. hab
ich ja noch kapiert, aber dann…
Nachtrag: Halt, stop, ich hab’s doch geschafft, das ist ja der Ooooberhammer. Vielen Dank für deine schnelle und 1a Hilfe, da kann ich heute Abend in unserer WG mächtig auftrumpfen ;o)
Elegant, ça vaut une étoile !
Elegant, ça vaut une étoile !
Hallo Erich,
ich reiche mal den Stern an den Programmierer des Codes weiter.
Da fehlt mir noch etliches um dahinzugelangen.
Sicher, mir ist da kein einziger Befehl unklar, aber Programmierung bedeutet ja, erstmal ein Problem zu erfassen und dann sich eine Vorgehensweise zur Problemlösung auszudenken.
Wenn das sitzt und gut durchdacht ist, ist der Rest, der eigentliche Code nur Pillepanne, da stockt man an kleinen Syntaxfehlerchen oder stellt fest daß XL97 kein Split() kennt, abder das ist leicht lösbar.
Allein rekursive Codeaufrufe sind für mich zwar nicht unlösbar aber ich verbrauche dann endlos viel Zeit damit das hinzukriegen:frowning:
Z.B., die Grundstruktur jedes rekursiven Programms ist mir bekannt, ich sah auch schon mehrmals Lösungen dazu, sagen wir mal für die Fakultät.
Wenn ich mich dann hinsetze um Fakultät rekursiv zu lösen sind sicher auch einige Stunden weg oder so und dabei weiß ich genau, die Lösung ist nur ein 7-Zeiler.
Entweder denken die Leute die so Code von sich aus entwickeln völlig anders als ich, oder brauchen auch so lange , was mich sehr beruhigen würde 
Gruß
Reinhard
Hallo Reinhard,
dazu fällt mir noch eine Anfrage ein, die ich mal (sinngemäß so) gestellt hatte:
Macht es nicht Sinn, sich auch über Algorhitmen auszutauschen und dementsprechend gezielt danach zu fragen? Tatsächlich ist die Umsetzung zwar oft schwierig, aber die Sprache ist meist austauschbar. Klar, manche Sachen gehen mit x besser als mit y oder in z schneller als in w und Datenformat c ist dafür effizienter als d, aber die Art und Weise der Problemlösung ist die selbe.
Ich hatte mal was zur Erstellung eines Organingramms gesucht. Grundproblem war die Anordnung der „Kisten“, so dass sie möglichst eng, aber sinnvoll und vor allem nebeneinander liegen. Also Posting in das richtige Board (Welches ist das?) geschrieben. Das Ergebnis war eher ernüchternd, allerdings hatte ich zumindest einen guten Hinweis bekommen. Von einem Algo war das aber noch weit entfernt. Danach mal ein paar andere Boards probieren??? oder direkt ein Doppelposting???
Ich könnte mir vorstellen, dazu tatsächlich ein eigenes Board zu haben. In den fachbezogenen ist eher zu erläutern, wie man seinen Algo mit X,c unter NN umsetzt.
Bin mal auf deine/eure Meinung gespannt.
mfg
Dirk.Pegasus
OT Organigramm
Ich hatte mal was zur Erstellung eines Organingramms gesucht.
Grundproblem war die Anordnung der „Kisten“, so dass sie
möglichst eng, aber sinnvoll und vor allem nebeneinander
liegen. Also Posting in das richtige Board (Welches ist das?)
geschrieben. Das Ergebnis war eher ernüchternd, allerdings
hatte ich zumindest einen guten Hinweis bekommen. Von einem
Algo war das aber noch weit entfernt. Danach mal ein paar
andere Boards probieren??? oder direkt ein Doppelposting???
Hallo Dirk,
vielleicht ist das ja was für dich:
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
Und zum richtigen Brett, ist manchmal sehr schwierig. Aus dem Bauch heraus würde ich sagen „Programmierung Allgemein“.
Und den Bedarf für ein Brett „Struktugramm, Ablaufplan Algorythmus“ o.ä. Namen kann ich nicht einschätzen. Aber frage doch mal oben im Brett „ALK“ an.
Gruß
Reinhard
Gruß
Reinhard