|
▼つん さん:
こんにちは。T-Kです。
On Error GoTo 0はエラーが発生した処理を中止して次の処理を実行する。
ですから、次のif文を実行するはず、と考えました。
そしてデバッグしたら、実行エラー:オブジェクトが必要です、と出て・・。
ならばと以下の「r.SpecialCells (xlCellTypeBlanks)」が、
追加したオブジェクトです。
ともあれ、私の実現したいことは次のステップなのです。
1.指定のセルを一旦、クリア(色を白にするだけ)
2.指定セルに何も入力されていなかったら、そのセルを赤くする
3.再度、1からスタートした時、指定セルに値が入っていたら、
セルを赤くしない
Public Sub CommandButton3_Click()
Dim r As Range
'チェック前に一度、指定セル箇所(飛び飛びのセル)をクリアする
Worksheets("Sheet1").Range("AB3,AC3").Interior.ColorIndex = 0
On Error Resume Next
Set r = Worksheets("Sheet1").Range("AB3,AC3").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
「r.SpecialCells (xlCellTypeBlanks)」
If Not r Is Nothing Then
r.Interior.ColorIndex = 3
MsgBox ("赤いセルを入力して下さい")
End If
Set r = Nothing
End Sub
>「WorksheetFunction.CountBlank」使ったら・・・って提案しました。
>けど、今試してみたら、選択範囲が複数やったらダメみたいですね^^;
→そうなんです。
それで、On Error Resume Nextを採用しようとしました。
でも、実は他の業務で活きてくるのが分かって、得しました。
教えていただいてありがとうございます。
|
|