.FillDown mit variablen Ende...

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ereza.

    .FillDown mit variablen Ende...

    Hallo liebe Community!

    Ich möchte gerne einen Filldown ausführen lassen, solange, bis er als Wert 0 ausgibt.

    Im Grunde ist es nur ein Verweis auf Werte von 2 verschiedenen Arbeitsblättern, die in einem dritten mit Filldown dargestellt werden sollen. Also Konkret schauts so aus:

    In meinem aktuellen Tabellenblatt:

    Visual Basic-Quellcode

    1. Range("A2").FormulaR1C1 = "='1 - Alle Aufträge zu Equipments'!RC[9]"
    2. Range("B2").FormulaR1C1 = "='2 - Kosten EXKL. Null-Beträge'!RC[-1]"


    Da stehen dann einfach Nummern von '1 - Alle Aufträge zu Equipments' und '2 - Kosten EXKL. Null-Beträge' drinnen. Durch .Filldown soll jetzt A2 solange runtergezogen werden bis keine Nummern mehr vom verweisten '1 - Alle Aufträge zu Equipments' auftauchen und dann nur mehr der Wert "0" als Verweis auf eine leere Zelle, da steht!
    Ganz das Gleiche gilt für B2! --> Solange bis zu einer leeren Zelle verwiesen wird und somit der Wert "0" erscheint!

    Ich habe keine Ahnung wie ich das festlegen soll....

    also "Workaround" hab ich mir in meiner "Not" jetzt überlegt dass ich zuerst über einen Row-Count abfrage wie groß bzw. wieviele Einträge die Spalte in '1 - Alle Aufträge zu Equipments' hat und wieviel die Spalte in '2 - Kosten EXKL. Null-Beträge' hat. Das wird in einer Variablen hinterlegt und im Rowcount als Parameter eingesetzt.... ABER das haut irgendwie nicht hin... weil ich das Rowcount noch immer nicht richtig kapiert habe von der Synthax her!!
    mein bisheriger Ansatz wäre:

    Visual Basic-Quellcode

    1. Private Sub CommandButton2_Click()
    2. Dim a As Long
    3. Dim b As Long
    4. a = Tabelle2.Cells(Rows.Count, 10).End(xlUp).Row 'Einträge von Spalte J in Alle Aufträge zu Equipments werden gezählt
    5. b = Tabelle3.Cells(Rows.Count, 1).End(xlUp).Row 'Einträge von Spalte A in Kosten EXKL. Null-Beträge werden gezählt
    6. If a > b Then
    7. Range("A2").FormulaR1C1 = "='1 - Alle Aufträge zu Equipments'!RC[9]"
    8. Range("B2").FormulaR1C1 = "='2 - Kosten EXKL. Null-Beträge'!RC[-1]"
    9. Range("A2:B" & Cells(Rows.Count, a).End(xlUp).Row).FillDown
    10. ElseIf a <= b Then
    11. Range("A2").FormulaR1C1 = "='1 - Alle Aufträge zu Equipments'!RC[9]"
    12. Range("B2").FormulaR1C1 = "='2 - Kosten EXKL. Null-Beträge'!RC[-1]"
    13. Range("A2:B" & Cells(Rows.Count, b).End(xlUp).Row).FillDown
    14. End If
    15. End Sub



    Das funktioniert aber leider nicht....


    ABER EIGENTLICH bräuchte ich das wirklich nur so, wie anfangs beschrieben... also dass der Filldown, jeweils von A2 und B2 aus weg, solange durchgeführt wird, bis der Zellenwert "0" ist bzw. er auf eine leere Zelle verweist...... also irgendwie mit .Value .... Aber wie weiß ich nicht! :(((

    Vielleicht kann mir ja jemand weiterhelfen und mir sagen wie ich den Filldown-Part konzipieren muss damit das hinhaut!

    Vielen herzlichen Dank!

    LG Tim

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ereza“ ()

    Soo... jz hab ich in der Zwischenzeit schon rausgefunden, dass das mit Filldown gar nicht geht...

    Dafür brauche ich Autofill mit der Option: xlFillCopy

    Ich habe das Problem mittlerweile teilweise selber gelöst.... jedoch kommt jz ein Laufzeitfehler! Habe dafür ein neues Thema erstellt... aber eigentlich gehört es mit diesem hier zusammen!!
    Also wer meine bisherige Lösung sehen will:

    Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler


    Aber vielleicht kann mir ja jemand helfen, sodass ich das mit dem Autofill noch richtig hinbekomme....

    Vielen Dank!

    LG Tim
    Eine weitere Thematik, die mit dieser Problemstellung auch zusammenhängt... findet ihr unter folgendem Thema:

    Formel in Range(Cells(x,y), cells(x,y)) packen.... aber wie...??

    Vielleicht ist ja auch damit dem einen oder anderen geholfen...

    LG Tim