Laufzeitfehler 1004: Die Methode Range für das objekt worksheet ist fehlgeschlagen

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Laufzeitfehler 1004: Die Methode Range für das objekt worksheet ist fehlgeschlagen

    Hallo zusammne,
    ich hoffe auf Eure Hilfe:

    Diese prozedur ist in einem modul erstellt:
    die Zellauswahl ist als public definiert:

    Visual Basic-Quellcode

    1. Public Zellauswahl As String
    2. in einer userform:
    3. Private Sub btn_starte_Berechnung_Click()
    4. Zellauswahl = Mid(Me.ref_Zellauswahl, InStrRev(Me.ref_Zellauswahl, "!") + 1)'Zellauswahl aus einem refEdit -Steuerelemet
    5. SummeBilden
    6. Unload Me
    7. End Sub
    8. Private Sub UserForm_Initialize()
    9. Me.ref_Zellauswahl.SetFocus
    10. End Sub
    11. Sub SummeBilden()
    12. Dim zelle As Range, zellbereich As Range
    13. Dim summe As Double, zwisum As Double
    14. Dim blatt As Worksheet, meld As String
    15. For Each blatt In Worksheets
    16. 'Wertzuweisung an eine Objektvariable mit Set
    17. Set zellbereich = blatt.Range(Zellauswahl) 'Diese Formel markiert VBA
    18. zwisum = 0
    19. 'Für jedes Element in Gruppenelement
    20. For Each zelle In zellbereich
    21. zwisum = zwisum + zelle
    22. Next
    23. meld = meld & "summe von " & blatt.Name & ": " _
    24. & Format(zwisum, "#,##0.00 €") & vbCrLf
    25. summe = summe + zwisum
    26. Next
    27. meld = meld & "Gesamtsumme: " & Format(summe, "#,##0.00 €"
    28. MsgBox meld, vbInformation, "Ergebnis: "
    29. End Sub


    Anbei auch als zip-Datei.
    Wieso berechnet vba denn nicht die Summe?

    VG
    ???

    *BBCode eingefügt*
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Bitte färbe deinen Code demnächst ein, siehe: [Forum] Welche BBCodes (Tags) gibt es hier im Forum zum Einfärben von Quellcodes (Syntax-Highlighting)?

    Zum Thema:
    Hast du mit dem Debugger mal nachgeschaut, was Zellauswahl für einen Wert hat? Vielleicht ist der falsch.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hallo Marcus,

    [tt] "$D$14:$F$15" [\tt]
    gibt mir der Debugger, wenn ich einen Bereich auswähle.
    Sehe ich das richtig, die Formel [tt]Zellauswahl = Mid(Me.ref_Zellauswahl, InStrRev(Me.ref_Zellauswahl, "!") + 1)[\tt] funktioniert nicht, da die $$ überflüssig sind?

    VG
    ???
    Hallo Marcus,
    ich habe es noch einmal überprüft, an den $$ liegt es nicht:
    For Each blatt In Worksheets 'Wertzuweisung an eine Objektvariable mit Set Set zellbereich = blatt.Range(zellauswahl)

    in dieser Formel kommt die zellauswahl nicht an, obwohl zuvor als public variable definiert.
    Woran kann das liegen?

    VG
    jogg70

    jogg70 schrieb:

    in dieser Formel kommt die zellauswahl nicht an

    Nochmal zu meinem Verständnis: In der Zeile Set zellbereich = blatt.Range(Zellauswahl) enthält Zellauswahl keinen Wert? Oder doch den genannten?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum