AW: Dim Bereich As Range ?
IngGi
Hallo Horst,
der Fehler liegt an der unvollständigen Referenzierung. Deine Beispiele stellen sich wie folgt dar:
Beispiel1:
Set Bereich = Sheets("Namen").Range("H2:H30")
Hier bezieht sich der Rangebereich auf das Tabellenblatt "Namen". so wie du es angegeben hast.
Beispiel2:
Set Bereich = Range(Cells(2, 8), Cells(20, 8))
Hier hast du kein Tabellenblatt angegeben. Range und beide Cells beziehen sich auf das aktive Tabellenblatt (bzw. auf das Tabellenblatt, in dessen Codemodul das Makro steht, falls dieses im Modul eines Tabellenblattes steht).
Beispiel3:
Set Bereich = Sheets("Namen").Range(Cells(2, 8), Cells(20, 8))
Das geht schief, da du für Range explizit das Tabellenblatt "Namen" vorgegeben hast. Die beiden Cells beziehen sich dagegen auf das aktive Tabellenblatt (bzw. auf das Tabellenblatt, in dessen Codemodul das Makro steht, falls dieses im Modul eines Tabellenblattes steht).
Alternative:
With Sheets("Namen")
.Range(.Cells(2, 8), .Cells(20,8))
End With
Jetzt werden (durch den Punkt davor) Range und beide Cells korrekt über das Tabellenblatt referenziert.
Gruß Ingolf