Clever-Excel-Forum

Normale Version: methode range für das objekt _worksheet ist fehlgeschlagen nach "set Worksheet"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,
ich stehe ein wenig auf dem Schlauch und hoffe Ihr könnt es mir erklären.

Ich habe in einme Sub ein Worksheet-Objekt, welches richtig zugewiesen wird, aber leider kann ich damit nicht arbeiten ohne es zu aktivieren was ich nicht verstehe. 
Der Code steht in einem Modul.

Code:
Private Sub Format_Mitgliederliste()

    Dim lng_last_row As Long
    Dim lng_last_col As Long
    Dim wks_mg As Worksheet
   

    Set wks_mg = Workbooks(gcon_Mappename).Sheets(gcon_Mitglieder)  'Der WS ist doch damit komplett ausgeprägt oder?
    wks_mg.Activate                                                 'ohne diese Zeile geht es leider nicht, aber Warum?
   
    'Letzte Zeile und Spalte holen
    lng_last_row = wks_mg.UsedRange.Rows.Count
    lng_last_col = wks_mg.UsedRange.Columns.Count
   
    'Indexspalte einfügen
    wks_mg.Cells(1, 1) = "Ind."
    wks_mg.Cells(2, 1).Value = 1
   
    wks_mg.Range(Cells(2, 1), Cells(lng_last_row, 1)).DataSeries Type:=xlDataSeriesLinear   'läuft auf Fehler ohne Activate
   
End Sub

Ich verstehe nicht warum, denn ich dachte ein Worksheetobjekt ist komplett ausgeprägt - also Mappe->WS

Scheinbar aber nicht, denn ich glaube daran hängt es... wenn die Mappe im Richtigen Sheet steht, geht es auch ohne activate (is ja klar, acitvate is ja Blatt aktivieren Smile )

Ich hoffe Ihr könnt mich erleuchten.

Lieben Dank und ein schönes WE in die Runde
Richarde
Moin!
Fehlende Referenzierung bei Cells()
Daher wird  sich auf das aktuelle Blatt bezogen.

Gruß Ralf vom mobile phone
und auf einmal macht alles wieder Sinn Smile

Danke und ein schönes WE
Richarde