ANo.2です。
入力エリアを選択してからの場合の2番目のマクロは入力された数値がなければエラーになります。
エラーの処理をしたマクロです。
Sub Macro2()
On Error GoTo LINE
Selection.SpecialCells(xlCellTypeConstants, 1).ClearContents
Selection.NumberFormatLocal = "#,##0;[赤]#,##0"
LINE:
End Sub
入力エリアを選択してからの場合
Sub Macro1()
Selection.ClearContents
Selection.NumberFormatLocal = "#,##0;[赤]#,##0"
End Sub
(注) 誤って数式の入っている所も範囲に含めて指定してしまうと数式もクリアされてしまいます。
Sub Macro2()
Selection.SpecialCells(xlCellTypeConstants, 1).ClearContents
Selection.NumberFormatLocal = "#,##0;[赤]#,##0"
End Sub
(注) 範囲を指定しないで実行するとシート全体の入力した数値(数式と文字は対象外)が対象になってしまいます。
範囲(I17:M29、I32:M51)を決めてある場合
Sub Macro3()
Range("I17:M29,I32:M51").ClearContents
Range("I17:M29,I32:M51").NumberFormatLocal = "#,##0;[赤]#,##0"
End Sub
こんにちは!
一例です。
>ボタンクリックで戻したいのですが・・・
とありますので、コマンドボタンを配置しているとします。
(1)入力エリアを選択しての場合
Private Sub CommandButton1_Click()
Dim c As Range
For Each c In Selection
With c
.ClearContents
.NumberFormatLocal = "#,##0;[赤]#,##0"
End With
Next c
End Sub
(2)あらかじめ範囲が決まっている場合
Private Sub CommandButton2_Click()
With Range("I17:M29,I31:M51")
.ClearContents
.NumberFormatLocal = "#,##0;[赤]#,##0"
End With
End Sub
こういう感じではどうでしょうか?m(__)m
お礼
mar00さん お礼の方が遅れてしまい 大変失礼しました。 何回も 回答していただいたのに もうしわけありませんでした。 質問の内容のものは できました。 内容を理解するように つとめたいとおもいます。