回答編集履歴
5
変更
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
```
|
22
22
|
---
|
23
23
|
(追記)
|
24
|
-
Publicを使
|
24
|
+
Publicを使ってこれにセットする方法もあると思います。(好んで使っています)
|
25
25
|
```VBA
|
26
26
|
Call ctrlbtn(n).SetCtrl(NewB)
|
27
27
|
Set ctrlbtn(n).tgtRange = Cells(row, n)
|
4
(追記)
answer
CHANGED
@@ -18,4 +18,25 @@
|
|
18
18
|
intRow = tgtRange.Row
|
19
19
|
intcol = tgtRange.Column
|
20
20
|
End Sub
|
21
|
+
```
|
22
|
+
---
|
23
|
+
(追記)
|
24
|
+
Publicを使う方法もあると思います。(好んで使います)
|
25
|
+
```VBA
|
26
|
+
Call ctrlbtn(n).SetCtrl(NewB)
|
27
|
+
Set ctrlbtn(n).tgtRange = Cells(row, n)
|
28
|
+
```
|
29
|
+
```Class
|
30
|
+
Private WithEvents tgtCtrl As MSForms.CommandButton
|
31
|
+
Public tgtRange As Range
|
32
|
+
Public Sub SetCtrl(new_ctrl As MSForms.CommandButton)
|
33
|
+
Set tgtCtrl = new_ctrl
|
34
|
+
End Sub
|
35
|
+
Private Sub tgtCtrl_Click()
|
36
|
+
MsgBox "コントロール名: " & tgtCtrl.Name & " - " & tgtRange.row & " - " & tgtRange.Column
|
37
|
+
Dim intRow As Long
|
38
|
+
Dim intcol As Long
|
39
|
+
intRow = tgtRange.row
|
40
|
+
intcol = tgtRange.Column
|
41
|
+
End Sub
|
21
42
|
```
|
3
変更
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
hatena19様の言われている
|
1
|
+
hatena19様の言われているクラスにセルも格納は下記の様な感じと思います。
|
2
2
|
```VBA
|
3
3
|
Call ctrlBtn(n).SetCtrl(NewB, Cells(Row, n))
|
4
4
|
```
|
2
n
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
hatena19様の言われている、クラスにラベルコントロールとセルも格納は下記の様な感じと思います。
|
2
2
|
```VBA
|
3
|
-
Call ctrlBtn(n).SetCtrl(NewB, Cells(Row,
|
3
|
+
Call ctrlBtn(n).SetCtrl(NewB, Cells(Row, n))
|
4
4
|
```
|
5
5
|
```Class
|
6
6
|
Private WithEvents tgtCtrl As MSForms.CommandButton
|
1
変更
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
hatena19様の言われている
|
1
|
+
hatena19様の言われている、クラスにラベルコントロールとセルも格納は下記の様な感じと思います。
|
2
2
|
```VBA
|
3
3
|
Call ctrlBtn(n).SetCtrl(NewB, Cells(Row, 1))
|
4
4
|
```
|
@@ -13,11 +13,9 @@
|
|
13
13
|
|
14
14
|
Private Sub tgtCtrl_Click()
|
15
15
|
MsgBox "コントロール名: " & tgtCtrl.Name & " - " & tgtRange.Row & " - " & tgtRange.Column
|
16
|
-
|
17
16
|
Dim intRow As Long
|
18
17
|
Dim intcol As Long
|
19
18
|
intRow = tgtRange.Row
|
20
19
|
intcol = tgtRange.Column
|
21
|
-
|
22
20
|
End Sub
|
23
21
|
```
|