Lag es also nur an dem Definieren der Worksheets oder an den Buchstaben in Anführungszeichen? Oder habe ich noch einen anderen relevanten Unterschied übersehen?
'Kopieren der Werte aus den Spalten L bis CF in die Spalten H bis CB im Tabellenblatt "Kampf"
wksKampf.Range(wksKampf.Cells(i, "H"), wksKampf.Cells(i, "CB")).Value = _
wksInitiative.Range(wksInitiative.Cells(j, "L"), wksInitiative.Cells(j, "CF")).Value
Schreibst du nur Cells(...) und
1) steht der Code in einem Modul, bezieht sich Cells(...) auf das ActiveSheet
2) steht der Code in einem Workbook, bezieht sich Cells auf das selbige Workbook
Man kann keine Range bilden, die über mehrere Workbooks geht
Tabelle1.Range(ActiveSheet.Cells(1,1), ActiveSheet.Cells(1,10)) ist also nicht möglich, wenn z.B. Tabelle2 gerade das ActiveSheet ist (siehe 1).
Schlussendlich geht es hier darum, sichbewusst zu sein in welchem Sichtbereich (Scope) man sich gerade befindet.
Alles andere ist nur Demo das es auch anders geht, meiner Meinung nach übersichtlicher (die Kommentare würde ich damit jetzt weglassen).
|