Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] Laufzeitfehler - Bitte um Hilfe
#1
Hallo zusammen,

folgendes Script:
Code:
Sub Filterabfrage()
Dim lngRow As Long
With Worksheets("Import")

If ActiveSheet.FilterMode Then
    For lngRow = 4 To Cells(3, 1).End(xlDown).Row
        If Not Rows(lngRow).Hidden Then Exit For
    Next
    .Range("A1") = CStr(lngRow)
    Tabelle4.Cells(2, 6).FormulaLocal = "=WENNFEHLER(" & "I" & lngRow & "*Budget_pro_Zimmer;""Kein Wert"")"
    'letzte Zeile: " & CStr(Cells(3, 1).End(xlDown).Row)
 Else
     .Range("A1") = ""
    
End If
End With
End Sub

.. erzeugt beim Ausführen einen Laufzeitfehler (die methode range für das objekt _worksheet ist fehlgeschlagen) in Zeile:
    .Range("A1") = CStr(lngRow)



Jemand eine Idee?
Danke & Gruss
Antworten Top
#2
Ok, nach längerem Test habe ich nun herausgefunden, dass der Fehler nur auftaucht, wenn ich ihn hier abrufe:

Private Sub Worksheet_Calculate()
  '  Call Filterabfrage
End Sub

Falls es jemanden interessiert, ich habe es nun wie folgt gelöst:

Code:
Private Sub Worksheet_Calculate()
Static E2_Alt As Double
If Range("E2").Value <> E2_Alt Then
   E2_Alt = Range("E2").Value
   Call Filterabfrage
End If
End Sub

Trotzdem Dank an euch Smile
Antworten Top
#3
Hallo,

Zitat:Ok, nach längerem Test habe ich nun herausgefunden, dass der Fehler nur auftaucht, wenn ich ihn hier abrufe:

Private Sub Worksheet_Calculate()
  '  Call Filterabfrage
End Sub

... und ich frage Dich mal ganz neugierig, was rufst Du da eigentlich ab?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
Hallo Peter,

das Makro Filterabfrage hat Jules im ersten Beitrag gepostet.

Hallo Jules,

wenn Du da ein Value noch anhängst, dürfte es gehen.

Code:
.Range("A1").Value = CStr(lngRow)
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Hallo Peter,

siehe Stefan - Ich frage ab, ob ein Filter aktiv ist und lasse mir die erste sichtbare Zeile nennen...?!

Hallo Stefan,

danke. Das werde ich mal testen. So, wie ich es aktuell geändert habe, funktioniert es aber immerhin Smile

Gruss
Antworten Top


Gehe zu:


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