プロが教える店舗&オフィスのセキュリティ対策術

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

色で判別するよりも、入力してある文字「/。」で判別して、それ以外に入力してある文字を削除できるようにしたいです。

「Excel VBA 決まった文字以外を一」の質問画像

A 回答 (3件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/14 12:12

kokosu525さん


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

この回答への補足

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

補足日時:2013/04/14 12:41
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/14 12:08

kokosu525さん


こんにちは。

以下のプログラムでできるかと思います。
ただ条件としては、日や曜日は1,2行目として3行目以降対応しています。
また、処理するシートはActive(表示)しているシートです。
お試し下さい。

Sub クリアー()
 Dim セル As Range
  For Each セル In Rows("3:" & Rows.Count).SpecialCells(xlCellTypeConstants)
   If セル <> "/。" Then セル.ClearContents
 Next
End Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/14 09:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています