質問編集履歴

12

コメント捕捉

2017/10/12 03:00

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- Private Sub WorkSheet_Change(ByVal Target As Range)
39
+ Private Sub WorkSheet_Change(ByVal Target As Range) 'WorkSheet変更時のイベントを拾いません。
40
40
 
41
41
  If Target.Row >= 6 And Target.Column = 3 Then
42
42
 
@@ -52,7 +52,7 @@
52
52
 
53
53
  For i = 6 To rowsCount
54
54
 
55
- ComboBox.AddItem = Cells(i, 3).Value
55
+ ComboBox1.AddItem Cells(i, 3).Value 'Activexで作成したコントロールですが、オブジェクトが必要ですと表示されます。
56
56
 
57
57
  Next i
58
58
 

11

変更

2017/10/12 03:00

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -10,17 +10,13 @@
10
10
 
11
11
  そのデータを配列として収めたいです。
12
12
 
13
-
14
-
15
- 今のところ、マクロ内で実行というボタンを押すと
13
+ 今のところ
16
-
17
- それをトリガーとしてコンボボックスの値を取得するような処理になっているのですが、
18
14
 
19
15
  「列にデータ挿入した」をトリガーとしてコンボボックスに配列を挿入する方法がわかっておらず、仮作成の段階になっています。
20
16
 
21
17
 
22
18
 
23
- また、列データを配列に含めという動作はできているのですが、
19
+ また、列データを取得する動作はできているのですが、
24
20
 
25
21
  それをコンボボックスのオブジェクトへの挿入ができていません。
26
22
 

10

コード修正

2017/10/12 02:12

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -38,11 +38,15 @@
38
38
 
39
39
  ```VBA
40
40
 
41
- Sub 実行()
42
41
 
43
- Call UserForm_Initialize
44
42
 
43
+ Private Sub WorkSheet_Change(ByVal Target As Range)
44
+
45
+ If Target.Row >= 6 And Target.Column = 3 Then
46
+
45
- 'その他の処理は省略
47
+ Call UserForm_Initialize
48
+
49
+ End If
46
50
 
47
51
  End Sub
48
52
 
@@ -50,23 +54,11 @@
50
54
 
51
55
  Private Sub UserForm_Initialize()
52
56
 
53
- Dim cmbData() As Variant
57
+ For i = 6 To rowsCount
54
58
 
55
- ReDim cmbData(rowsCount)
59
+ ComboBox.AddItem = Cells(i, 3).Value
56
60
 
57
- For i = 6 To rowsCount
58
-
59
- cmbData(i-6) = Cells(i, 3).Value
60
-
61
- ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトが必要ですとエラーが出ます。
62
-
63
- Next i
61
+ Next i
64
-
65
- Debug.Print cmbData(99) '←ここには値が入っています。
66
-
67
- Debug.Print cmbData(700) '←ここには値が入っています。
68
-
69
-
70
62
 
71
63
  End Sub
72
64
 

9

混乱を招くので追記を削除

2017/10/12 02:11

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -99,69 +99,3 @@
99
99
 
100
100
 
101
101
  以上、よろしくお願いします。
102
-
103
-
104
-
105
-
106
-
107
- 追記
108
-
109
- 1.については下記の参考コードでどうにかできそうです。
110
-
111
-
112
-
113
- ```VBA
114
-
115
-
116
-
117
- Private Sub Worksheet_Change(ByVal Target As Range)
118
-
119
- 'A1からC10を1行目から10行目までかつ1列目から3列目までという条件
120
-
121
-
122
-
123
- If (Target.Row >= 1 And Target.Row <= 10) And (Target.Column >= 1 And _
124
-
125
-
126
-
127
- Target.Column <= 3) Then
128
-
129
-
130
-
131
- 'セルの値に変更があったときに実行したい処理を記述
132
-
133
-
134
-
135
- MsgBox "Hello Excel"
136
-
137
-
138
-
139
- End If
140
-
141
-
142
-
143
- End Sub
144
-
145
- ```
146
-
147
-
148
-
149
-
150
-
151
- 追記
152
-
153
- 下記で変更アクションを拾いませんでした・・・
154
-
155
- ```VBA
156
-
157
- Private Sub WorkSheet_Change(ByVal Target As Range)
158
-
159
- If Target.Row >= 6 And Target.Column = 3 Then
160
-
161
- Call UserForm_Initialize
162
-
163
- End If
164
-
165
- End Sub
166
-
167
- ```

8

エラーメッセージの修正

2017/10/12 02:09

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  cmbData(i-6) = Cells(i, 3).Value
60
60
 
61
- ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトがありませんとエラーが出ます。
61
+ ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトが必要ですとエラーが出ます。
62
62
 
63
63
  Next i
64
64
 

7

誤字修正

2017/10/12 02:04

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -65,8 +65,6 @@
65
65
  Debug.Print cmbData(99) '←ここには値が入っています。
66
66
 
67
67
  Debug.Print cmbData(700) '←ここには値が入っています。
68
-
69
- がありませんとエラーが出ます。
70
68
 
71
69
 
72
70
 

6

コード編集

2017/10/12 02:02

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  cmbData(i-6) = Cells(i, 3).Value
60
60
 
61
- ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクト
61
+ ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトがありませんとエラーが出ます。
62
62
 
63
63
  Next i
64
64
 

5

コード変更

2017/10/12 02:01

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -58,13 +58,15 @@
58
58
 
59
59
  cmbData(i-6) = Cells(i, 3).Value
60
60
 
61
+ ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクト
62
+
61
63
  Next i
62
64
 
63
65
  Debug.Print cmbData(99) '←ここには値が入っています。
64
66
 
65
67
  Debug.Print cmbData(700) '←ここには値が入っています。
66
68
 
67
- ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトがありませんとエラーが出ます。
69
+ がありませんとエラーが出ます。
68
70
 
69
71
 
70
72
 

4

コード変更

2017/10/12 02:00

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -64,11 +64,9 @@
64
64
 
65
65
  Debug.Print cmbData(700) '←ここには値が入っています。
66
66
 
67
- With Forms.ComboBox1
67
+ ComboBox1.AddItem Cells(i, 3).Value '←ここでオブジェクトがありませんとエラーが出ます。
68
68
 
69
- .Column() = cmbData '←ここでオブジェクトがありませんとエラーが出ます。
69
+
70
-
71
- End With
72
70
 
73
71
  End Sub
74
72
 

3

行間調

2017/10/12 01:57

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -144,6 +144,10 @@
144
144
 
145
145
  End Sub
146
146
 
147
+ ```
148
+
149
+
150
+
147
151
 
148
152
 
149
153
  追記
@@ -162,10 +166,4 @@
162
166
 
163
167
  End Sub
164
168
 
165
- コード
166
-
167
169
  ```
168
-
169
-
170
-
171
- ```

2

追記

2017/10/12 01:51

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -146,4 +146,26 @@
146
146
 
147
147
 
148
148
 
149
+ 追記
150
+
151
+ 下記で変更アクションを拾いませんでした・・・
152
+
153
+ ```VBA
154
+
155
+ Private Sub WorkSheet_Change(ByVal Target As Range)
156
+
157
+ If Target.Row >= 6 And Target.Column = 3 Then
158
+
159
+ Call UserForm_Initialize
160
+
161
+ End If
162
+
163
+ End Sub
164
+
165
+ コード
166
+
149
167
  ```
168
+
169
+
170
+
171
+ ```

1

追記

2017/10/12 01:50

投稿

King_of_Flies
King_of_Flies

スコア382

test CHANGED
File without changes
test CHANGED
@@ -101,3 +101,49 @@
101
101
 
102
102
 
103
103
  以上、よろしくお願いします。
104
+
105
+
106
+
107
+
108
+
109
+ 追記
110
+
111
+ 1.については下記の参考コードでどうにかできそうです。
112
+
113
+
114
+
115
+ ```VBA
116
+
117
+
118
+
119
+ Private Sub Worksheet_Change(ByVal Target As Range)
120
+
121
+ 'A1からC10を1行目から10行目までかつ1列目から3列目までという条件
122
+
123
+
124
+
125
+ If (Target.Row >= 1 And Target.Row <= 10) And (Target.Column >= 1 And _
126
+
127
+
128
+
129
+ Target.Column <= 3) Then
130
+
131
+
132
+
133
+ 'セルの値に変更があったときに実行したい処理を記述
134
+
135
+
136
+
137
+ MsgBox "Hello Excel"
138
+
139
+
140
+
141
+ End If
142
+
143
+
144
+
145
+ End Sub
146
+
147
+
148
+
149
+ ```