
作業ブックの「ThisWorkbook」に
下記のコードを設定しております。
このコードは「昇降機【青紙】(表面)」の指定セル「R20」に不特定の文字が表示されないと、警告文が表示され「昇降機質疑」シートに移動できないように設定したコードです。
このコードを
指定セル「R20」に不特定の文字では無く
不特定の半角英数字(8文字)が表示されないとシート移動が出来ないように変更出来る方法を教えてください。
現状のコード
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If ActiveSheet.Name <> "昇降機質疑" Then Exit Sub
Dim ws As Worksheet: Set ws = Worksheets("昇降機【青紙】(表面)")
Dim c As Range
If Not c Is Nothing Or IsEmpty(ws.Range("R20")) Or IsNumeric(ws.Range("R20")) Then
MsgBox "未入力セルがあります、入力しないとシートを移動できません", vbCritical
Application.EnableEvents = False
Sh.Select
Application.EnableEvents = True
End If
End Sub
以上となります。
宜しくお願い致します
No.1ベストアンサー
- 回答日時:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If ActiveSheet.Name <> "昇降機質疑" Then Exit Sub
Dim ws As Worksheet: Set ws = Worksheets("昇降機【青紙】(表面)")
Dim c As Range
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
' 正規表現の設定(半角英数字8文字に一致)
re.Pattern = "^[a-zA-Z0-9]{8}$"
re.IgnoreCase = True
' R20の値を確認
If Not re.Test(ws.Range("R20").Value) Then
MsgBox "セルR20には8文字の半角英数字を入力してください。", vbCritical
Application.EnableEvents = False
Sh.Select
Application.EnableEvents = True
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】並び替えの範囲が、...
-
VBA ユーザーフォーム ボタンク...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
ワードの図形にマクロを登録で...
-
えくせるのVBAコードについて教...
-
エクエルのVBAコードについて教...
-
Excel VBA 選択範囲の罫線色の...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでCOPYを繰り返すと、処理が...
-
vbaにてseleniumを使用したedge...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
Vba セルの4辺について罫線が有...
-
【マクロ】開いているブックの...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】値を変更しながら...
-
改行文字「vbCrLf」とは
-
算術演算子「¥」の意味について
-
VBAでセルの書式を変えずに文字...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
おすすめ情報