エクセルについて

例えばA~Zまでのフィールドが存在するシートをマクロなどで自動的に指定したフィールド列(例えばBとK)を削除したいのですが、可能でしょうか?

回答の条件
  • 1人5回まで
  • 登録:2007/08/02 10:12:27
  • 終了:2007/08/09 10:15:03

回答(5件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/08/02 10:25:19

ポイント20pt

Columns("A:A").Delete Shift:=xlToLeft

これで A列が削除できます。

どの列を削除するか 求められれば 上記で削除できます。

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/08/02 10:35:54

ポイント20pt

やり方はいろいろあると思いますが、下記が参考になるでしょうか。


最初の例は、B列とK列を削除するコードの例です。

後の例はセルを選んで(離れた複数のセルでもOK)実行すると、セルを含んだ列を削除します。


行や列を削除すると、前の列(行)を削除すると後ろの位置が変わってしまうので後ろから処理をするのが常套手段ですが、今回のように、一度に指定しまうこともできるので、その方が混乱内科と思います。

'-------------------------------
'--- コードで指定した列を削除
'-------------------------------
Sub deleteColumns1()
'-------------------------------
    Union(Columns("B"), Columns("K")).Delete
End Sub

'-------------------------------
'--- 選択したセルを含む列を削除
'-------------------------------
Sub deleteColumns2()
'-------------------------------
    Selection.EntireColumn.Delete
End Sub
id:hac20380

ありがとうございました。

さらに質問なのですが、例えばG~Tというように

連続でフィールドの削除をしたい場合は記述の方法があるのでしょうか?それともアルファベットを1つ1つ記述しなければいけないのでしょうか?

2007/08/02 11:42:53
id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912007/08/02 12:06:58

ポイント20pt

コメントを有効にしていただければ、そちらでサポートいたしますが、連続した範囲であれば、下記のようにできます。

Columns("G:T").Delete

離れた列を指定する場合は、Union でまとめると簡単に記述できます。

Union(Columns("A"), Columns("D"), Columns("G:T")).Delete
id:hac20380

ありがとうございました。

できました!

ここからまた質問なのですが、これを登録?(どのシートを開いてもこのマクロが実行できるようにする)にはどうしたらよいのでしょうか?

またショートカットキーでマクロを実行できたような気がするのですが・・・。

何度もすいませんがよろしくお願い致します。

2007/08/02 13:35:13
id:taknt No.4

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/08/02 14:23:26

ポイント20pt

>これを登録?(どのシートを開いてもこのマクロが実行できるようにする)にはどうしたらよいのでしょうか?

>またショートカットキーでマクロを実行できたような気がするのですが・・・。



http://www.eurus.dti.ne.jp/~yoneyama/Excel/middle/mid-7.html


上記のHPのようにしてマクロを自動で登録します。

登録時にショートカットキーを 割り当てます。

登録後に、VBEを開いて ソースを修正すればいいですね。

id:hac20380

マクロの有効/無効の確認ダイアログが表示されないのですが・・・。

一度ファイルを閉じて再度エクセルを開いた状態

[ファイル]→[開く]でよろしかったですよね。

2007/08/02 14:58:31
id:taknt No.5

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/08/02 15:23:32

ポイント20pt

>マクロの有効/無効の確認ダイアログが表示されないのですが・・・。


セキュリティの設定により出ない場合があります。

今まで マクロが実行できてれば 問題ありません。

>[ツール]→[マクロ]→セキュリティ]を選択し、「中」にします。

になっている場合、警告が 出ます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません