- ベストアンサー
エクセルの列削除がうまくいかない。
- CSV変換データの不要な列を削除しようとしているが、思うような動作しない。
- CSV変換マクロを起動すると、A,B,E,F,O,P,Q,R列を削除しようとしているが、うまくいかない。
- 質問者はどのようにすれば列を削除できるかを知りたいと思っている。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
余分なコードをお載せになると回答者を混乱させるだけですし、ご自分の頭の整理のためにも問題を単純化して質問される事をお勧めします。 全部は読んでないですが、この様な場合、「消す」行為が、再配置を招いて意図しない結果にならない様に、後ろから消すのが常道です。 Sub test() With ActiveSheet .Range(.Columns(15), .Columns(18)).Delete Shift:=xlShiftToLeft .Range(.Columns(5), .Columns(6)).Delete Shift:=xlShiftToLeft .Range(.Columns(1), .Columns(2)).Delete Shift:=xlShiftToLeft End With End Sub 既に削除されたご質問で、フィルタオプションをお勧めしようかとおもっておりましたが、コードの汎用化がスッキリできないでいました。 =B3=INT(B3)といった式を条件にする事で、整数のみ抽出できますし、 抽出したい列のフィールド名を抜き出した出力先シートを指定する事で、指定列だけの抽出もできます。 また、フィルタオプションは結構高速だと思います。ご参考まで。 http://www.eurus.dti.ne.jp/yoneyama/Excel/filter3.htm 少々長いページなので、下記をお探し下さい。 ・条件設定に数式を使う方法 ・フィルタオプションで特定の項目(列)を抽出する
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
'不要列を削除 Range("A:B,E:F,O:R").Delete Shift:=xlShiftToLeft ぐらいで行ってみて下さい。
お礼
回答いただき有難うございました。
お礼
教えていただき有難うございます。後ろから削除することは勉強になりました。有難うございます。