今日び、Excelマクロは、「新しいBing(チャット)」に聞けば、正しいコードをどんどん書いてくれるので、非常にとっつきやすいものになっています。
でも、コードが正しくても、動作しないということがあります。
それが、操作する対象の表が「テーブル(任意のセルをクリックしてCtrl+Tを押すとなるやつ)」であるときです。
テーブルは、手作業でも削除などの操作がうまくできなかったり(できていても画面のリフレッシュが遅くて、スクロールさせないと消えたように見えなかったり)して、好きじゃない人も多いと思います。
マクロで削除しようとしても、ほぼエラーの原因になるのです。
なんと、テーブルを、別のマクロ入りファイルに値のみ貼り付けしても、やっぱりエラーになる。
たちが悪いのは、相手がテーブルでも、1列だけ削除ならマクロでできることです。複数の列を削除しようとすると、テーブル相手ではエラーの連続になります。
正しい対処法は、テーブルのExcelファイルをいったんCSV形式で保存して閉じ、Excelで開きなおしたものを、マクロのファイルにコピー&ペーストして、そこで複数列削除のVBAコードを実行することです。
テーブルとして扱いたいときは、そのあとにマクロなどでテーブル化しましょう。CSV保存しても日付などの書式は失われないので、安心して試してみてください。