Ich hatte in einem Code eine feste Vorgabe hinsichtlich der Spalten in einem Range. Nun wollte ich die Spaltenangabe (die Spaltennummern werden zuvor dynamisch ermittelt) über eine Variable machen. Doch der Code bringt Laufzeitfehler 1004.
Mein Code (auf das Wesentliche reduzuiert):
MaxRowsV = 7 ' Sheets(BlattV).UsedRange.Rows(Sheets(BlattV).UsedRange.Rows.Count).Row
SpalteV = 4
SpalteN = 6
Sheets(BlattN).Select 'absichtlich, um nicht in der angesprochenen Tabelle zu sein
Sheets(BlattV).Range("D2:F" & MaxRowsV).Interior.Color = vbYellow
'Sheets(BlattV).Range(Cells(2, SpalteV), Cells(MaxRowsV, SpalteN)).Select
Sheets(BlattV).Range(Cells(2, SpalteV), Cells(MaxRowsV, SpalteN)).Interior.Color = vbWhite
Weil ich später von einem Blatt zum anderen kopieren möchte, habe ich absichtlich ein anderes Blatt selektiert.
Der Code mit der bisherigen Schreibweise und dem Einfärben mit Gelb funktioniert. Testweise hatte ich auch einen ".Select" auf den neuen Range gemacht, um zu sehen, ob die richtigen Zellen angesprochen werden (natürlich war ich dazu in der entsprechende Tabelle). Ich konnte keinen Fehler entdecken..
Wenn ich mich allerdings in der angesprochenen Tabelle befinde, dann funktioniert der neue Code.
Was ist an meiner neuen Schreibweise falsch?
Gruß Joschi