• 締切済み

マクロ シートの値チェック

マクロでシートの値に禁則文字(、! ; : / * <> | ")が使用されていた場合エラーメッセージを出したいと思っています。 シート(Sheet1)のセルのどこかに禁則文字が使用されていた場合、エラーメッセージを出す処理を作ることは可能でしょうか?

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

まぁ、こんな感じで良いんじゃないでしょうか。 Sub Sample()   Dim rRange As Range   sTarget = "、!;:/*<>|"""   For i = 1 To Len(sTarget)     sOne = Mid(sTarget, i, 1)     If sOne = "*" Then sOne = "~*"     Set rRange = Cells.Find(What:=sOne)     If Not rRange Is Nothing Then       MsgBox ("Sheet上のアドレス:" & rRange.Address & "に禁則文字「" & Right(sOne, 1) & "」が含まれています")       Exit Sub     End If   Next i   MsgBox ("禁則文字は含まれていません") End Sub

すると、全ての回答が全文表示されます。
  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

Dim rng As Range For Each rng In ActiveSheet.UsedRange <正規表現とかでrng.valueをチェック> Next みたいな感じでやればできると思いますよ。 ただ、使用されているセルを全て調べるので、若干処理は重たいかもしれません。 マクロ実行中はシートの描画と再計算を止めておくことをお勧めします。

すると、全ての回答が全文表示されます。

関連するQ&A