Automatisches Ausfüllen mit bedingungen aus oberer Zelle
#1
Hy,

ich bin scho ne ganze Weile an einem Problem dran und vielleicht könnt ihr mir ja weiter helfen.

   

Das ist meine Ausgangslage für eine Vorlage vom Schema her. Dabei soll wenn ich oben das x durch eine Zahl ersetze auch alle darunterliegenden mit der Zahl, statt des x gefüllt werden und bei allen Zellen die gleiche Formel hinter liegen haben, so dass ich sie auch einfach runterziehen kann. Die Einträge variieren immer. Mit meiner Formel macht er das auch automatisch solange nur 1 Punkt in der Zelle steht. Formel ist wie folgt:

=WENN(LÄNGE(B53)<3;B53&"."&1;LINKS(B53;FINDEN(".";B53)-1)&"."&ERSETZEN(B53;1;FINDEN(".";B53);"")+1)

Also wenn die direkt darüber liegende Zelle weniger wie 3 Zeichen hat, dann füge mir einen Punkt & eine 1 ein. Sonst nehme alle Zeichen vor dem Punkt der Zelle darüber & Punkt & ersetze mir den wert nach dem punkt der Zelle darüber und rechne immer 1 dazu.

Hab nun verschiedene Sachen getestet und wüsste nun nicht wie ich das sinnvoll ergänzen könnte. Meine Idee war einen weiteren Kenner einzubauen.

   

So sieht die Spalte daneben aus. Man könnte mit dem "---" Wert der Spalte daneben noch eine und Funktion einbauen, dass wenn "---" auftaucht eben x.6.1 bzw Zahl.6.1 macht und die darunter auch wieder hochzählt. Hat bei mir jedoch nicht funktioniert.

Das kann man bestimmt alles einfacher lösen, nur in der Beziehung hab ich nicht viel Erfahrung.


Ich hoffe ich konnte es halbwegs verständlich formulieren.


MfG Dan
Antworten Top
#2
Hallo Dan,

eine Beispieldatei mit händischen Wunschergebnissen würde helfen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
WillWissenHallo Dan,

eine Beispieldatei mit händischen Wunschergebnissen würde helfen.

Hy,

stimmt. Ist wohl leichter. Ich hab mal eine Liste mit dem Schema angehängt.


.xlsx   Test Stücki Excelforum.xlsx (Größe: 12,95 KB / Downloads: 3)

MfG
Antworten Top
#4
Erstelle Dir eine Tabelle mit

Sub Autonummerierung() 'Variante mit mehr als 15 Ebenen und Nummern pro Ebene 1:9^9. Test xl2000 + 2010
Workbooks.Add xlWorksheet: [A1:D1] = Split("Trigger Kapitel Titel Kombi")
[A2:A21] = WorksheetFunction.Transpose(Split("1 1 1 1 0 0 -1 -1 1 0 1 0 -2 1 0 0 -2 1 0 -1"))
[C2:C21] = WorksheetFunction.Transpose(Split("Getränke Wasser abgefüllt still medium classic " & _
"Kranberger Bier Pils Weizen Kristall Hefe Wein rot weiß rosé Essen Vorspeise Nachspeise Fazit"))
ActiveWorkbook.Names.Add Name:="XX", RefersToR1C1:="=R[-1]C"
ActiveWorkbook.Names.Add Name:="Ebenen", RefersToR1C1:="=MAX(1,LEN(XX)-LEN(SUBSTITUTE(XX,""."",))+MIN(1,RC[-1]))"
ActiveWorkbook.Names.Add Name:="Wennfehler", RefersToR1C1:="=SUBSTITUTE(LEFT(" & _
"SUBSTITUTE(XX,""."",""-"",Ebenen-1),SEARCH(""-""," & _
"SUBSTITUTE(XX,""."",""-"",Ebenen-1))),""-"",""."")&MID(SUBSTITUTE(XX&0,"".""," & _
"REPT("" "",99)),Ebenen*99-98,99)+1&""."""
ActiveWorkbook.Names.Add Name:="Nummerierung", RefersToR1C1:= _
"=IF(ISERROR(Wennfehler),MID(XX,1,SEARCH(""."",XX)-1)+1&""."",Wennfehler)"
[B2].FormulaR1C1 = "=""2017.8.17.1.""": [B3:B21].FormulaR1C1 = "=Nummerierung"
[D2:D21].FormulaR1C1 = "=RC[-2]&"" ""&RC[-1]"
[E1] = 8: [E2:E21].FormulaR1C1 = "=REPT("" "",(LEN(RC[-3])-2)/2*R1C)&RC[-2]": End Sub


Ändere nun wie folgt ab (um zu sehen, wie es geht):
B2: x.1.
A2:A21: 0
A17: 1
A19: -1

Du kannst die Formeln weiter ziehen.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste