• 締切済み

Excel VBA 決まった文字以外を一括削除

勤務表を作成しています。 赤いセル「/。」は、希望休です。 勤務表の組み直しを行うため、希望休以外を一括で削除して空白にしたいのですが、そのようなマクロを組む事はできますか? 色で判別するよりも、入力してある文字「/。」で判別して、それ以外に入力してある文字を削除できるようにしたいです。

みんなの回答

回答No.3

特定文字のセルを除いた、選択された範囲の罫線以外をクリアしたい??

kokosu525
質問者

お礼

はい。 色は条件付き書式で設定してあるので、空白にすれば白くなります。「/。」以外の文字だけ消すだけです。 1日目の隣には、スタッフの氏名が入力されています。 勤務の下のセルには、イベントなどの文章をいれますので、決められた範囲だけを対象にして文字を消したいです。

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

kokosu525さん 次のコードで対応できるかと思います。 ご確認下さい。   Sub クリアー()  Dim セル As Range  For Each セル In Rows("3:" & Rows.Count).SpecialCells(xlCellTypeConstants)   If セル <> "/。" Then セル.MergeArea.ClearContents  Next End Sub

kokosu525
質問者

お礼

すごい! 見事に消えていきました!

kokosu525
質問者

補足

J5:AN13の範囲だけを対象範囲にして削除したいです。 この範囲以外は、スタッフ氏名や行事などの入力がされていますので消したくないです。

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

kokosu525さん こんにちは。 以下のプログラムでできるかと思います。 ただ条件としては、日や曜日は1,2行目として3行目以降対応しています。 また、処理するシートはActive(表示)しているシートです。 お試し下さい。 Sub クリアー()  Dim セル As Range   For Each セル In Rows("3:" & Rows.Count).SpecialCells(xlCellTypeConstants)    If セル <> "/。" Then セル.ClearContents  Next End Sub

kokosu525
質問者

お礼

回答、ありがとうございます。 さっそく試してみました。 ただ、エラーになってしまいました。 私の説明不足で、表の下に、結合したセルがあり行事などの記載があります。結合したセルが影響してエラーになってしまうようです。

関連するQ&A

  • Excelで決まった文字以外を一括削除。

    勤務表を作成しています。 赤いセル「/。」は、希望休です。 勤務表の組み直しを行うため、希望休以外を一括で削除して空白にしたいのですが、そのようなマクロを組む事はできますか? 入力してある文字「/。」で判別して、それ以外に入力してある文字を削除できるようにしたいです。 J5:AN13の範囲だけを対象範囲にして削除したいです。 この範囲以外は、スタッフ氏名や行事などの入力がされていますので消したくないです。

  • Excelで勤務表を作成。

    勤務表を作成しています。 赤いセル「/。」は、希望休です。 勤務表の組み直しを行うため、希望休以外を一括で削除して空白にしたいのですが、そのようなマクロを組む事はできますか? 色で判別するよりも、入力してある文字「/。」で判別して、それ以外に入力してある文字を削除できるようにしたいです。

  • エクセル 特定のセルを残して一括削除

    エクセル2003で勤務シフト表を作成します。 表内のセルには、色(複数色)のついたセルや数字、記号などが入ります。 この表を何度も使いまわすのですが、 範囲を選択し、データをクリア(表はのこして白の空白)する時に一定のセル、たとえばピンクの色のついた数値または記号のセルだけを残して一括クリアしたいのです。 セルのロック書式設定とシートの保護は何度も試してみましたが上手くいきません。削除するとみな消えます。保護中はロック以外のセルもエラー表示で何も出来なくなります。 マクロ機能だと出来るのですが、これはピンクのセルが固定されている場合のみです。 ピンク(数値・記号)がどのセルに変わろうと、残る方法が知りたいのです。何か良い方法があれば教えて下さい。 よろしくお願いします。

  • 一括でセル削除 VBA エクセル

    B1からZ100にランダムに値(文字や数字)が入ってます。このうち、空白セルを削除して左に寄せたいのですが、VBAで一括でできますでしょうか?

  • Excelで前後に紛れ込んでいる空白を一括で削除したいです。

    Excel2003使用者です。 セル内の文字で、その前後に空白があるものが含まれています。 その空白をシート内で一括で削除する方法を教えて下さい。 削除したいのは前後の空白のみで、文字間の空白はそのままです。 (もし前に空白があれば、文字は左詰めされる) つたない説明でお分かりでしょうか? よろしくお願いします。

  • マクロにて空白のセルを一括して消去でなく削除したい

    空白のセルを一括して、空白セルについた色も含めてマクロで全て削除したい。 現在のデータ(仕様)について 1.Sheet2に列ごとにセルに色をつけ、データもあるとします。 2.A列10行・B列6行・C;列18行というように、列によってデータの入った範囲が違います。 3.どの行も途中に空白セルはなく、詰めたデータです。 以上です マクロで一括処理したいと思いますが、このようなことができるコードを教えて頂けませんか。よろしくお願いします。

  • Excelで未入力セルに一括で特定の文字を

    Excelについての質問です。 未入力セルに一括で特定の文字を入れたいのですがそんな関数をご存じないでしょうか? セルが未入力(空白)の場合、一括で「,*」を入れる、ということをしたいのです。 よろしくお願いいたします。

  • エクセルの特定文字の置換とそれ以外の文字の削除

    ここにはいつもお世話になっております。 エクセル2010で年間計画表(そこそこ大きな表になってしまいます)を毎年作成しており、毎月の実行予定を〇で、実施したら●にして、その横(同じセル内)にコメント(文字)を入れていきます。 よって、年度末にはほとんどの〇が●に変わっています。 さて、今年の計画表を作るに当たって従来は全部削除してから新しく〇を付けていたのですが、予定の多くは継続のため、●を〇に変えて、同一セルに入力されているコメントの文字だけを削除する簡便な方法は無いかと思い至った次第です。 何時間もかかる作業ではないので、難しければ従来通り全部削除してから〇のコピペで作成しますが、良いアイディアあれば宜しくお願い致します。

  • エクセルで空白セル以外を保護したい

    エクセル2000を使用しています。 ある表を作成して、セルの種類としては 文字が入力済、数値が入力済、空白、空白だが計算式が入力済、 の四種類があります。 数人が共有して入力するもので、空白のセル以外は一切書き込みが 出来ないよう保護したいのですが可能でしょうか? 文字入、数値入、空白(式入り)・・・保護(ロック) 空白・・・入力可能 上記のようにしたいのです。

  • エクセル2010マクロ? 関数?置換以外で文字削除

    エクセル2010を使っています。 画像のAS6 AS8のように他セルを参照しているセルがあります。 この数字の前に付いている 注とその後の半角スペースをまとめて削除し、数値のみにしたいのですが、置換のような手作業ではいけません。 マクロや関数を使って、【参照元のセルが張り付けられた時、もしくはボタンを押したときに一括で削除】したいと思います。 その文字はAS 3 ~ AS 98にまで存在する可能性が有ります。 ポイントはあくまでも、【参照元のセルが張り付けられた時、もしくはボタンを押したときに一括で削除】です。 マクロや関数に詳しい方、よろしくお願いします。

専門家に質問してみよう