回答編集履歴
2
エラーの修正
test
CHANGED
@@ -40,10 +40,6 @@
|
|
40
40
|
|
41
41
|
.Sheet(別シート).Cells(j,3)= .Cells(i,3)
|
42
42
|
|
43
|
-
i = i+1
|
44
|
-
|
45
|
-
j = j+1
|
46
|
-
|
47
43
|
' 見張りフラグを書き換えて、旧データを保存しておく
|
48
44
|
|
49
45
|
gflag = .Cells(i,1)
|
@@ -51,6 +47,14 @@
|
|
51
47
|
hozoncell2 = .Cells(i,2)
|
52
48
|
|
53
49
|
hozoncell3 = .Cells(i,3)
|
50
|
+
|
51
|
+
' アクティブシートの行ポインタ i の移動
|
52
|
+
|
53
|
+
i = i+1
|
54
|
+
|
55
|
+
' 別シートの行ポインタ j の移動
|
56
|
+
|
57
|
+
j = j+1
|
54
58
|
|
55
59
|
Else
|
56
60
|
|
@@ -83,3 +87,5 @@
|
|
83
87
|
Loop
|
84
88
|
|
85
89
|
```
|
90
|
+
|
91
|
+
校正した際に19行目に入れていた i=i+1 が間違いと気づいたので、下側に移しました。
|
1
コード修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
整列済みの連続番号セルをもとにした定番のグループトータルアルゴリズムを使えばできます。
|
2
2
|
|
3
|
-
同一番号かを見張る変数gflagと欠番を埋めるためのhozoncell変数を用意し、番号がf
|
3
|
+
同一番号かを見張る変数gflagと欠番を埋めるためのhozoncell変数を用意し、番号がgflagと違ったときに新しい値をうつすか、欠番を埋めるかの処理を行います。そして、番号が一致しているときは、単純に次のセルにうつるように変数iに1を足します。
|
4
4
|
|
5
5
|
未検証ですが、以下のようなコードの形になると思います。
|
6
6
|
|
@@ -24,7 +24,9 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
+
i = 2
|
28
|
+
|
27
|
-
|
29
|
+
Do While i <= .Cells(Rows.Count,1).End(xlUp).Row
|
28
30
|
|
29
31
|
If .Cells(i,1) > gflag Then
|
30
32
|
|
@@ -54,7 +56,7 @@
|
|
54
56
|
|
55
57
|
' 欠番があったときに旧データを転送していく
|
56
58
|
|
57
|
-
While .Cells(i,1) < gflag + 1
|
59
|
+
Do While .Cells(i,1) < gflag + 1
|
58
60
|
|
59
61
|
gflag = gflag + 1
|
60
62
|
|
@@ -66,7 +68,7 @@
|
|
66
68
|
|
67
69
|
j = j+1
|
68
70
|
|
69
|
-
|
71
|
+
Loop
|
70
72
|
|
71
73
|
End If
|
72
74
|
|
@@ -78,6 +80,6 @@
|
|
78
80
|
|
79
81
|
End If
|
80
82
|
|
81
|
-
|
83
|
+
Loop
|
82
84
|
|
83
85
|
```
|