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

回答編集履歴

3

コード追加

2020/11/10 05:51

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -16,4 +16,24 @@
16
16
  ただし、配列の中身はすべて Cells(14,10).Value になるので無意味なものになります。
17
17
  (繰り返し上書きしているだけ。)
18
18
 
19
- 最終的に配列に何を格納したいのか論理的に説明してください。
19
+ 最終的に配列に何を格納したいのか論理的に説明してください。
20
+
21
+ ---
22
+
23
+ Trueのセルの右隣りのセルの値を配列に格納したい、とエスパー。
24
+
25
+ ```vba
26
+ Dim chkName() As String, i As Long, x As Long '格納
27
+ x = 0
28
+
29
+ For i = 5 To 14
30
+ If Cells(i, 9).Value = True Then
31
+ ReDim Preserve chkName(x)
32
+ chkName(x) = Cells(i, 10).Value
33
+ Cells(i, 7) = chkName(x)
34
+ x = x + 1
35
+ End If
36
+ Next
37
+
38
+ MsgBox Join(chkName) '配列の中身を確認
39
+ ```

2

修正

2020/11/10 05:51

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -13,7 +13,7 @@
13
13
  Next
14
14
  ```
15
15
 
16
- ただし、配列の中身はすべて Cells(14,10) になるので無意味なものになります。
16
+ ただし、配列の中身はすべて Cells(14,10).Value になるので無意味なものになります。
17
17
  (繰り返し上書きしているだけ。)
18
18
 
19
19
  最終的に配列に何を格納したいのか論理的に説明してください。

1

コード修正

2020/11/10 05:41

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  Dim chkName(8) As String, i As Long, x As Long '格納
5
5
  For x = 0 To 8
6
6
  For i = 5 To 14
7
- If Cells(i, 9).Value = "True" Then
7
+ If Cells(i, 9).Value = True Then
8
8
  chkName(x) = Cells(i, 10).value
9
9
  'Range(i, 7) = chkName(x) 間違い
10
10
  Cells(i, 7) = chkName(x) 'こちらに修正