マクロの質問です。


Selection.Insert Shift:=xlToRight
Application.WindowState = xlMaximized
Columns("J:M").Select
Selection.Delete Shift:=xlToLeft
Columns("L:X").Select
Selection.Delete Shift:=xlToLeft
Columns("M:T").Select
Selection.Delete Shift:=xlToLeft
Columns("Q:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("T:AO").Select
Selection.Delete Shift:=xlToLeft

と、記述してみましたが
思うより多くの行が削除されてしまいます。
アドバイスをお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/08/24 14:43:04
  • 終了:2007/08/31 14:45:03

回答(4件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982007/08/24 15:11:02

ポイント35pt

削除する順番を変更したらいいですね。

右側のほうから削除するようにしたらいいでしょう。

Columns("T:AO").Select

Selection.Delete Shift:=xlToLeft

これを 最初にする。

以降、右側のほうから削除。



http://q.hatena.ne.jp/answer

id:rikuzai No.2

りくっち回答回数1366ベストアンサー獲得回数1412007/08/24 15:14:06

ポイント35pt

恐らくマクロの記録で次のようなことをされたのだろうと思います。


画面を最大化

J:M列を選択して列削除

L:X列を選択して列削除

M:T列を選択して列削除

Q:Q列を選択して列削除

T:AO列を選択して列削除


この場合全て「列」を削除していると思うのですが、

削除されるのは「行」でしょうか?

また、↑のマクロでは多く削除されてしまうということですが、

実際にはどの列を削除したいのでしょうか?

今のマクロの場合は、選択して消す度に列が詰まって行ってしまうので、

実際にはJ:Mを削除した後それまでL:Xだった列はJ:Tに詰まっているといった感じです。

以上がはっきりするともっと具体的にアドバイスできると思います。


http://www.moug.net/

id:airplant No.3

airplant回答回数220ベストアンサー獲得回数492007/08/25 01:34:52

ポイント10pt

私も「マクロの記録」をメインにしていた頃、似たような経験あります。ただし、記録でやっている場合は、忠実に再現されます。

今回の場合、記録したものを変更して、列がずれてしまい、余計な分も削除されたのだと思われます。


列や行は、削除に限らず一発で複数範囲を指定できます。加工前の列で削除したいところを単純に区切って、次のように記述すると楽です。

    Range("J:M,L:AD,AX:AX").Delete Shift:=xlToLeft '列の場合
    Range("1:2,5:6,8:8").Delete Shift:=xlUp  '行の場合

マクロの記録だとselectしてからという操作で記録されますが、selectしなくても一向に構いません。

「Shift:=xxxx」のところは、指定しなくても行や列の場合は、動きます。


copy & pasteも同じようにselectしないで直接書けます。

    Range("A1:A2").value = Range("D10:D11").value

http://www11.plala.or.jp/koma_Excel/

http://d.hatena.ne.jp/airplant/

id:yyok No.4

yyok回答回数59ベストアンサー獲得回数32007/08/24 16:48:58

ポイント10pt

それぞれのSelection.Deleteが実行された段階で、カラムの位置がずれますが大丈夫ですか。

削除対象のカラムが複数あるなら例えば、

Range("B:M,Q:S,Z:AC").Delete

のように一度に指定して削除したほうが間違えなくていいと思います。


http://dummy

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

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

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

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

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