回答編集履歴

3

コード修正

2019/09/14 03:41

投稿

hatena19
hatena19

スコア33699

test CHANGED
@@ -64,9 +64,9 @@
64
64
 
65
65
  '郵便番号チェック
66
66
 
67
- If Not Cells(i, 8).Value Like "###-####" Then
67
+ If Not Me.Cells(i, 8).Value Like "###-####" Then
68
68
 
69
- Cells(i, 8).Interior.Color = RGB(255, 0, 0)
69
+ Me.Cells(i, 8).Interior.Color = RGB(255, 0, 0)
70
70
 
71
71
  End If
72
72
 

2

説明追加

2019/09/14 03:41

投稿

hatena19
hatena19

スコア33699

test CHANGED
@@ -19,6 +19,22 @@
19
19
  ただし、省略するのは可読性が悪くなるので、
20
20
 
21
21
  シートモジュールに記述していてそのシートが対象なら`Me.`、標準モジュールに記述してアクティブなシートが対象なら`ActiveSheet.`を付けるようにして、対象のシートを明示しましょう。
22
+
23
+
24
+
25
+ ---
26
+
27
+ > 意図的に文字列から数値に変換してもすべてセルの色が赤になってしまいました。
28
+
29
+
30
+
31
+ セルの書式設定のことですか?
32
+
33
+ 半角英数字(数字とアルファベット)を許可するなら、数値にしてはダメでしょう。アルファベットは数値ではないので。
34
+
35
+ 郵便番号もハイフンを含むし、ハイフンを省略する場合も、数値にすると先頭の0が消えるのでダメです。
36
+
37
+ 文字列にすべきです。
22
38
 
23
39
 
24
40
 

1

誤字の修正

2019/09/14 03:35

投稿

hatena19
hatena19

スコア33699

test CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  `Dim Err As Boolean`
6
6
 
7
- Errはそういうオブジェクトがあるので変数名としては適切ではない。
7
+ Errはそういうオブジェクトがあるので変数名としては適切ではない。別の名前に変更しましょう。
8
8
 
9
- [Err オブジェクト | Microsoft Docs](https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/err-object?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev11.query%3FappId%3DDev11IDEF1%26l%3Dja-JP%26k%3Dk(vblr6.chm1012954)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue%26f%3D255%26MSPPError%3D-2147217396)
9
+ [Err オブジェクト | Microsoft Docs](https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/err-object)
10
10
 
11
11
 
12
12
 
@@ -18,7 +18,7 @@
18
18
 
19
19
  ただし、省略するのは可読性が悪くなるので、
20
20
 
21
- シートモジュールに記述してそのシートが対象なら`Me.`、標準モジュールに記述してアクティブなシートが対象なら`ActiveSheet.`を付けるようにして、対象のシートを明示しましょう。
21
+ シートモジュールに記述していてそのシートが対象なら`Me.`、標準モジュールに記述してアクティブなシートが対象なら`ActiveSheet.`を付けるようにして、対象のシートを明示しましょう。
22
22
 
23
23
 
24
24
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  '半角英数字チェック
38
38
 
39
- If Me.Cells(i, 2).Value Like "*[!0-9A-Za-z]*" Then
39
+ If Me.Cells(i, 3).Value Like "*[!0-9A-Za-z]*" Then
40
40
 
41
41
  Me.Cells(i, 3).Interior.Color = RGB(255, 0, 0)
42
42