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

回答編集履歴

2

書き漏れを追加

2015/11/21 01:40

投稿

dojikko
dojikko

スコア3939

answer CHANGED
@@ -24,9 +24,9 @@
24
24
 
25
25
  余談ですが
26
26
  ```vba
27
- i=1
27
+ i=1 '何個目のListItemを処理しているか/A1から何行目のセルを見ているか
28
28
  Do While Range("A1").Offset(i,0)<>"" 'A列になにか値がある間は実行
29
- '1行追加
29
+ 'ListItemを1個(1)追加
30
30
  .AddItem Range("A1").Offset(i,0).Value
31
31
 
32
32
  '追加した行の各列に値を設定
@@ -36,6 +36,8 @@
36
36
  .List(i, 4) = Range("A1").Offset(i,4).Value
37
37
  .List(i, 5) = Range("A1").Offset(i,5).Value
38
38
  .List(i, 6) = Range("A1").Offset(i,6).Value
39
+
40
+ i=i+1 '次のListItem/A1から何行目のセルを見ているかを次の行にする
39
41
  Loop
40
42
  ```
41
43
  ちゃんと書けているかわかりませんが...

1

回答を補足

2015/11/21 01:40

投稿

dojikko
dojikko

スコア3939

answer CHANGED
@@ -9,4 +9,33 @@
9
9
 
10
10
  AddItemで今回追加されたListItemを指すために
11
11
  .ListCount-1
12
- を使っているだけです
12
+ を使っているだけです
13
+
14
+ 今回のコードでは**.ListCount-1**行目が新しく追加された行を指し
15
+ ```vba
16
+ .List(.ListCount - 1, 1) = Cells(i, 2).Value
17
+ .List(.ListCount - 1, 2) = Cells(i, 3).Value
18
+ .List(.ListCount - 1, 3) = Cells(i, 4).Value
19
+ .List(.ListCount - 1, 4) = Cells(i, 5).Value
20
+ .List(.ListCount - 1, 5) = Cells(i, 6).Value
21
+ .List(.ListCount - 1, 6) = Cells(i, 7).Value
22
+ ```
23
+ の一連のコードで**新しく追加された行**の各列に値を設定している
24
+
25
+ 余談ですが
26
+ ```vba
27
+ i=1
28
+ Do While Range("A1").Offset(i,0)<>"" 'A列になにか値がある間は実行
29
+ '1行追加
30
+ .AddItem Range("A1").Offset(i,0).Value
31
+
32
+ '追加した行の各列に値を設定
33
+ .List(i, 1) = Range("A1").Offset(i,1).Value
34
+ .List(i, 2) = Range("A1").Offset(i,2).Value
35
+ .List(i, 3) = Range("A1").Offset(i,3).Value
36
+ .List(i, 4) = Range("A1").Offset(i,4).Value
37
+ .List(i, 5) = Range("A1").Offset(i,5).Value
38
+ .List(i, 6) = Range("A1").Offset(i,6).Value
39
+ Loop
40
+ ```
41
+ ちゃんと書けているかわかりませんが...