• 締切済み

エクセル マクロ VBA

エクセルのマクロについて質問です。 『集計』というブックの『集計開始』というシートに     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 コメント  空白     空白   3行目 空白   空白     空白 4行目 商品名  支店     個数  5行目 空白   空白     空白 6行目 空白   空白   コメント1 7行目 空白   空白     空白 8行目 空白   空白   コメント2 9行目以降    上記のデータ(見出しを除く)の繰り返し というデータが入っています。 B列の中に『AAA』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 C列の中に『B』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 (今は、手作業で編集→置換→検索する文字列の中に『B*』と入力し、 置換後の文字列を空白にしてすべて置換ということをやっています。)                            ABC列(データーの入っている行まで)の空白を含む行を一括削除し、 以下のような形にしたいのです。     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 商品名  支店     個数  3行目 商品名  支店     個数          ・         ・ このようにするマクロ文はどのようになりますでしょうか?

みんなの回答

  • Raistlin
  • ベストアンサー率63% (65/102)
回答No.1

作らなくてもある機能は利用した方が早いです。 データ入力済み範囲が選択され、且つ望まない範囲にオートフィルタが設定されていない状態で以下マクロを実行してください。 データの置換や不要行の削除はされていませんが、望みの状態を「表示」していると思います。 置換や不要行の削除がどうしても必要ならば、選択範囲をコピーし、別のところに貼り付けると不要行を含まない表が得られます。 Sub Macro1() With Selection .AutoFilter Field:=2, Criteria1:="<>", Operator:=xlAnd, Criteria2:="<>AAA" .AutoFilter Field:=3, Criteria1:="<>B", Operator:=xlAnd End With End Sub 2003にて確認 #次回より、教えて!goo > デジタルライフ > ソフトウェア > Office系ソフト での質問を検討ください。

y0120123
質問者

補足

早速、また丁寧な回答ありがとうございます。 Office系ソフト で質問すればよかったのですね。 申し訳ありません。 ところでRaistlinさんのやり方を試したのですが、…。 質問文がうまくなく、十分にやりたいことが伝わってなかったようですので、もう少し簡単にオフィス系ソフトで質問いたします。 一応、下記に内容を記しておきます。 <ステップ1> あるシートのB列に『AAA』という文字を含んでいる行があったら その行は丸ごと削除する。 また、『AAA』という文字を含んでいなかったら、 エラーなどが出ないで、次のステップ2の処理に移る。 <ステップ2> ステップ1と同じシートのC列に、『B』という文字を含んでいる行があったらその行は丸ごと削除する。 ※この”『B』という文字を含んでいる”という意味は、 『B-』や”『B5』と入力されている場合も含めるということです。 また、『B』という文字を含んでいなかったら、エラーなどが出ないこと。 上記ステップ1からステップ2を一発で行うマクロ文は、 どのようになりますか? 教えてください。

関連するQ&A