回答編集履歴

1

補足、追記

2018/07/08 03:43

投稿

hatena19
hatena19

スコア34064

test CHANGED
@@ -8,19 +8,15 @@
8
8
 
9
9
 
10
10
 
11
-
12
-
13
11
  ```vba
14
12
 
15
13
  Sub test()
16
-
17
-
18
14
 
19
15
  Dim rc As Boolean
20
16
 
21
17
 
22
18
 
23
- rc = Sheets("Sheet5").CheckBoxes(1).Value = xlOn
19
+ rc = WorkSheets("Sheet1").CheckBoxes(1).Value = xlOn
24
20
 
25
21
  MsgBox rc
26
22
 
@@ -28,6 +24,60 @@
28
24
 
29
25
  End Sub
30
26
 
27
+ ```
28
+
29
+ **補足**
30
+
31
+ ちなみに、上記はコードは
32
+
33
+ `WorkSheets("Sheet1").CheckBoxes(1).Value = xlOn` の結果(True/False)を `rc`に代入しています。
34
+
35
+ 下記のコードと同じ意味になります。
36
+
37
+ ```vba
38
+
39
+ Sub test()
40
+
41
+ Dim rc As Boolean
42
+
43
+
44
+
45
+ If WorkSheets("Sheet1").CheckBoxes(1).Value = xlOn Then
46
+
47
+ rc = True
48
+
49
+ Else
50
+
51
+ rc = False
52
+
53
+ End If
54
+
55
+ MsgBox rc
31
56
 
32
57
 
58
+
59
+ End Sub
60
+
33
61
  ```
62
+
63
+ **追記**
64
+
65
+ フォームコントロールのチェックボックスを名前で参照する場合は、
66
+
67
+ 「オブジェクトの選択と表示」に表示される名前で、
68
+
69
+ `Worksheets("Sheet1").CheckBoxes("check box 4")`
70
+
71
+ としてもいいし、選択した時に「名前ボックス」に表示される名前でもOKです。
72
+
73
+ `Worksheets("Sheet1").CheckBoxes("チェック 4")`
74
+
75
+
76
+
77
+ ちなみに、チェックボックスの横のテキストは右クリックの「テキストの編集」で編集できますが、
78
+
79
+ その文字列は、
80
+
81
+ `Worksheets("Sheet1").CheckBoxes("check box 4").Text`
82
+
83
+ で取得できます。