• ベストアンサー

エクセル データのある最終列~最終列から数えて4つ目までの列を削除する

エクセル データのある最終列~最終列から数えて4つ目までの列を削除するマクロ ネットで調べましたところActiveSheet.UsedRange.Columns.SelectでA~最終列までは選択できました。 これをタイトルの様に4列目までを選択し削除するにはどうすればよろしいのでしょうか? どなたかご教授の方よろしくお願い致します。 使用環境:Windows7x64 エクセル 2007

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

似たようなものですが。。。 (確認のためDeleteではなくSelect)   With ActiveSheet.UsedRange   .Columns(.Columns.Count - 3).Resize(, 4).Select End With   説明は不要とは思いますが。。。 例えば、選択範囲がA~J列(1~10列)だったとすると   .Columns.Count = 10 .Columns(.Columns.Count - 3) = .Columns(7) = 7列目 .Resize(,4) = 7列目から4列分サイズを拡げる(7~10列目となる)     以上です。

rose_web
質問者

お礼

ご回答有り難うございます! 上記のマクロで間違いなく作動致しました! 今回はこちらをご利用させて頂きたいと思います! 有り難うございました!

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えば次のようなことでもよいでしょう。 ActiveSheet.UsedRange.Select n = Selection.Columns.Count Range(Cells(1, n - 3), Cells(1, n)).EntireColumn.Delete

rose_web
質問者

お礼

ご回答有り難うございます! 上記マクロで問題なく削除できました。 今回は1つのマクロで多数の変数使用しているため、 変数を作りたくありませんでしたが、 とてもわかりやすいマクロで勉強になりました! 有り難うございました!

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

With ActiveSheet.UsedRange.Columns .Resize(, 4).Offset(, .Count - 4 + 1).Delete End With

rose_web
質問者

お礼

ご回答有り難うございます! お教え頂いたマクロでは最終行を含み左3つしか削除できませんでした。 数字を変更すれば問題御座いませんでした。 この度は有り難うございました!

関連するQ&A