最近、オブジェクト変数を宣言して使うようになりました。
で、タイトルの表現です。動きません。○○時間コースどころか、今回は力尽きました。

Dim WS1 as worksheet
Set WS1=Worksheets("Sheet1")
中略
ThisWorkbook.WS1.cells(1,1).copy

正確な理由は、ThisWorkbookのプロパティのメンバーにWS1なんて無いからだそううです。
平たく言うと、ThisWorkbookなど付けなくともWS1だけで事足ります。WS1だけでワークシートが一意に決まるのです。
一番重宝してるのが「DOコマンドを実行する」マクロです。ワークシートに書いたコマンドをバッチファイルに書き出して実行します。ただそれだけですが、「あれ?rm? del?どっちだっけ?」などのトラブルを防げ ます。

失敗じゃないだろ?成功例だと一瞬思いましたが、実は教えてもらったものです(笑)
プロシージャを作って後で使い回せるようにマクロブックに保存して蓄積、やりましたよ、最初のうちは。

ファイルを使い回すうちに、
このプロシージャはここに無いな、マクロブックか。いちいち見るの面倒だ。コピペしよっと。

結局、使わなくなりました。まだ修行が足りないのか。