Range Cells Bezug funktioniert nicht meh
07.11.2022 11:25:01
sisomyz
nachdem ich heute den ganzen Vormittag damit verbracht habe eine Lösung für mein Problem zu finden, wende ich mich hier an das Forum, welches mir schon oft über das Archiv geholfen hat.
Ich habe die Problematik mit Range und Cells nicht verstanden... schon oft genutzt und es funktioniert auch aber aktuell stürzt mein Code an einer bestimmten Stelle ab und ich weiß nicht warum.
Vielleicht kann mir hier jemand helfen.
Der Code sieht wie folgt aus:
Public Function Monatswerte(Jahr As Integer, Monat As String, Station As String) As Integer
Dim Monat_Nummer As Integer
Dim Station_Zeile As Range
Dim Zeilen_Range_Monat As Range
Dim Station_Kennung As Integer
Dim Zeile_Monat_Ende As Integer
Dim Test As Integer
'Ermittlung Monatszahl
Select Case Monat
Case "Jan", "Januar"
Monat_Nummer = 1
Case "Feb", "Februar"
Monat_Nummer = 2
Case "Mrz", "März"
Monat_Nummer = 3
Case "Apr", "April"
Monat_Nummer = 4
Case "Apr", "Mai"
Monat_Nummer = 5
Case "Apr", "Juni"
Monat_Nummer = 6
Case "Apr", "Juli"
Monat_Nummer = 7
Case "Apr", "August"
Monat_Nummer = 8
Case "Apr", "September"
Monat_Nummer = 9
Case "Apr", "Oktober"
Monat_Nummer = 10
Case "Apr", "November"
Monat_Nummer = 11
Case "Apr", "Dezember"
Monat_Nummer = 12
End Select
'Ermittlung der Kennung
Set Station_Zeile = Workbooks("Niederschläge.xlsm").Worksheets("Stationen").Range("A1:A100")
With Application.WorksheetFunction
Zeile = .Match(Station, Station_Zeile, 0)
End With
Stations_Kennung = Workbooks("Niederschläge.xlsm").Worksheets("Stationen").Cells(Zeile, 2).Value
Set Jahr_Zeile = Workbooks("Niederschläge.xlsm").Worksheets("Daten").Range("c1:c30000")
'Ermittlung Zeile Jahr
With Application.WorksheetFunction
Zeile_Jahr = .Match(Jahr, Jahr_Zeile, 0)
End With
Set Spaltenmatrix = Workbooks("Niederschläge.xlsm").Worksheets("Daten").Range("A1:Z1")
With Application.WorksheetFunction
Spalte_Station = .Match(Stations_Kennung, Spaltenmatrix, 0)
End With
Set Zeilen_Range_Monat = Workbooks("Niederschläge.xlsm").Worksheets("Daten").Range(Cells(Zeile_Jahr, 4), Cells(Zeile_Jahr + 366, 4))
With Application.WorksheetFunction
Zeile_Monat_Ende = .Match(Monat_Nummer, Zeilen_Range_Monat, 0)
End With
Monatswerte = Zeile_Monat_Ende
End Function
Der Code an sich ist noch nicht fertig, hat also alles noch keinen Sinn. Bei Zeile "Set Zeilen_Range_Monat..." bricht Excel ab.
Aber warum?
Schon vorab einmal vielen Dank für das Hineindenken in dieses Problem.
Gruß Siso