回答編集履歴

2

書き漏れを追加

2015/11/21 01:40

投稿

dojikko
dojikko

スコア3939

test CHANGED
@@ -50,11 +50,11 @@
50
50
 
51
51
  ```vba
52
52
 
53
- i=1
53
+ i=1 '何個目のListItemを処理しているか/A1から何行目のセルを見ているか
54
54
 
55
55
  Do While Range("A1").Offset(i,0)<>"" 'A列になにか値がある間は実行
56
56
 
57
- '1行追加
57
+ 'ListItemを1個(1)追加
58
58
 
59
59
  .AddItem Range("A1").Offset(i,0).Value
60
60
 
@@ -74,6 +74,10 @@
74
74
 
75
75
  .List(i, 6) = Range("A1").Offset(i,6).Value
76
76
 
77
+
78
+
79
+ i=i+1 '次のListItem/A1から何行目のセルを見ているかを次の行にする
80
+
77
81
  Loop
78
82
 
79
83
  ```

1

回答を補足

2015/11/21 01:40

投稿

dojikko
dojikko

スコア3939

test CHANGED
@@ -21,3 +21,61 @@
21
21
  .ListCount-1
22
22
 
23
23
  を使っているだけです
24
+
25
+
26
+
27
+ 今回のコードでは**.ListCount-1**行目が新しく追加された行を指し
28
+
29
+ ```vba
30
+
31
+ .List(.ListCount - 1, 1) = Cells(i, 2).Value
32
+
33
+ .List(.ListCount - 1, 2) = Cells(i, 3).Value
34
+
35
+ .List(.ListCount - 1, 3) = Cells(i, 4).Value
36
+
37
+ .List(.ListCount - 1, 4) = Cells(i, 5).Value
38
+
39
+ .List(.ListCount - 1, 5) = Cells(i, 6).Value
40
+
41
+ .List(.ListCount - 1, 6) = Cells(i, 7).Value
42
+
43
+ ```
44
+
45
+ の一連のコードで**新しく追加された行**の各列に値を設定している
46
+
47
+
48
+
49
+ 余談ですが
50
+
51
+ ```vba
52
+
53
+ i=1
54
+
55
+ Do While Range("A1").Offset(i,0)<>"" 'A列になにか値がある間は実行
56
+
57
+ '1行追加
58
+
59
+ .AddItem Range("A1").Offset(i,0).Value
60
+
61
+
62
+
63
+ '追加した行の各列に値を設定
64
+
65
+ .List(i, 1) = Range("A1").Offset(i,1).Value
66
+
67
+ .List(i, 2) = Range("A1").Offset(i,2).Value
68
+
69
+ .List(i, 3) = Range("A1").Offset(i,3).Value
70
+
71
+ .List(i, 4) = Range("A1").Offset(i,4).Value
72
+
73
+ .List(i, 5) = Range("A1").Offset(i,5).Value
74
+
75
+ .List(i, 6) = Range("A1").Offset(i,6).Value
76
+
77
+ Loop
78
+
79
+ ```
80
+
81
+ ちゃんと書けているかわかりませんが...