[[20140630170354]] 『マクロで列を削除する』(hiro) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロで列を削除する』(hiro)

よろしくお願い致します。

CSVデータを使いやすくするため、
必要のない列を削除するマクロを作成しました。

1 Columns("A:A").Select
2 Selection.Delete Shift:=xlToLeft
3 Columns("E:E").Select
4 Selection.Delete Shift:=xlToLeft

A列を削除した後、E列を削除したいのですが、
上記のコードを実行すると
3のときA〜Eが選択された状態になり
削除されてしまいます。

記述がおかしいでしょうか?
「マクロの記録」で処理を保存した後、若干
修正を加えました。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


Columns("A:A").Delete Shift:=xlToLeft
Columns("E:E").Delete Shift:=xlToLeftでは

(HARA) 2014/06/30(月) 17:34


 列に限りませんが、後ろの列から消していかないと消したい列が消せないかも。
(Mook) 2014/06/30(月) 17:39

 セルを結合しているとA〜Eが選択される場合があります。
 ・A〜Eを結合している
 ・A〜Cを結合している行があり、別の行でC〜Eを結合している
 ・A〜B、B〜C、C〜D、D〜Eそれぞれを結合している行がある
 など。

(cai) 2014/06/30(月) 17:51


 補足
 >1 Columns("A:A").Select 
 >2 Selection.Delete Shift:=xlToLeft 
 >3 Columns("E:E").Select 
 >4 Selection.Delete Shift:=xlToLeft 
 A列とE列を消したいとき、
 2でA列を先に消すと、
 4のE列は左にずれてD列になります。
 そうすると、E列は元のF列になり、消したくないところが消えてしまいます。

 なので、消す順番はE列の次にA列にしないと、臨んだ結果になりません。
(稲葉) 2014/06/30(月) 17:52

列番号がずれるのは考慮して削除したいセル番号を指定していましたが
後ろから削除していけばそれも考えずにすみましたね。。。

今回の原因は結合セルがあったせいのようです。

いろいろ勉強になりました。
ありがとうございました。

(hiro) 2014/07/01(火) 11:01


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.