• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの列削除がうまくいかない。)

エクセルの列削除がうまくいかない。

このQ&Aのポイント
  • CSV変換データの不要な列を削除しようとしているが、思うような動作しない。
  • CSV変換マクロを起動すると、A,B,E,F,O,P,Q,R列を削除しようとしているが、うまくいかない。
  • 質問者はどのようにすれば列を削除できるかを知りたいと思っている。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.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 少々長いページなので、下記をお探し下さい。 ・条件設定に数式を使う方法 ・フィルタオプションで特定の項目(列)を抽出する

udonnteisyoku
質問者

お礼

教えていただき有難うございます。後ろから削除することは勉強になりました。有難うございます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

'不要列を削除 Range("A:B,E:F,O:R").Delete Shift:=xlShiftToLeft ぐらいで行ってみて下さい。

udonnteisyoku
質問者

お礼

回答いただき有難うございました。

関連するQ&A