Im Prinzip machst Du nichts falsch.
Die Frage ist, welche Werte Deinen Variablen zur Laufzeit zugewiesen sind.
Überprüfe das mal.
Allgemeiner Hinweis:
Cells(...) bezieht sich auf das AktiveTabellenblatt.