質問するログイン新規登録

回答編集履歴

5

変更

2020/09/04 00:30

投稿

tosi
tosi

スコア553

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

(追記)

2020/09/04 00:30

投稿

tosi
tosi

スコア553

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

変更

2020/09/04 00:28

投稿

tosi
tosi

スコア553

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

2020/09/03 23:52

投稿

tosi
tosi

スコア553

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  hatena19様の言われている、クラスにラベルコントロールとセルも格納は下記の様な感じと思います。
2
2
  ```VBA
3
- Call ctrlBtn(n).SetCtrl(NewB, Cells(Row, 1))
3
+ Call ctrlBtn(n).SetCtrl(NewB, Cells(Row, n))
4
4
  ```
5
5
  ```Class
6
6
  Private WithEvents tgtCtrl As MSForms.CommandButton

1

変更

2020/09/03 23:49

投稿

tosi
tosi

スコア553

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
  ```