ich habe mich jetzt durch etlich Foren gelesen und rumprobiert, komme aber nicht auf die Ursache meines Problems. Ich habe es schon sehr eingegrenzt, ich weiß genau wann und bei welchem Aufruf es passiert, bin aber im Moment nicht in der Lage die Sache zu lösen.
Es geht um folgende Sub, die bei der Aktion "Worksheet_Activate" ohne Probleme ausgeführt wird, aber bei "Worksheet_Change(ByVal Target As Range)" zum Laufzeitfehler 1004 - Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen führt. Excel stürzt dabei sogar ab. Die 2 Übeltäter sind fett markiert.
Sub ControlValues()
Dim wsControl As Worksheet
Dim kW_worksheet As String
Dim i As Integer
Dim lastRow As Integer
Set wsControl = Sheets("Kontrollblatt")
'Fill in values from invoice to control sheet
For i = 1 To wsControl.Range("Control").Rows.Count
kW_worksheet = "KW" & i & "_Abrechnung"
If DataModul.WorksheetExists(kW_worksheet) Then
lastRow = Sheets(kW_worksheet).Cells(Rows.Count, 17).End(xlUp).Rows.Row
wsControl.Range("Control").Cells(i, "C").Value = Sheets(kW_worksheet).Range("Q" & _
lastRow).Value
Else
wsControl.Range("Control").Cells(i, "C").Value = amountNotAvailable
End If
Next
End Sub
Bisheriger Versuche das Problem zu lösen:- Schreibschutz vorübergehend deaktiviert
- Diverse Versuche das Range anders anzugeben (z.B. nicht mit "Control", sondern z.B. "A3:C8)
Da es bei Worksheet_Activate funkioniert, bin ich aktuell etwas ratlos. Ich bitte um Hilfe. Vielen Dank im Voraus!
Gruß
Andreas