投稿/コメントを表示します。

'[3]
シート「キャンペーン名簿1」で、右の表11行目から21行目までについて順番に調査する。
右の表の各行ごとに、E列のIDが左の表のA列に存在するかを調べ、存在しない場合は1, 2, 3, ... とI列に上から順に番号を割り振るマクロを作れ。
存在する場合はI列には何も記入しない。
Sub tokkun_3()
Dim hida
Dim migi
Dim bango
bango = 1
Dim mitsuketa

For migi = 11 To 21
mitsuketa = False
For hida = 4 To 29
If Range("a" & hida).Value = Range("e" & migi).Value Then '-----(1)
Range("i" & migi).Value = ""
mitsuketa = True
Exit For
End If
'------(3)
Next hida

If mitsuketa = False Then '-------(2)
Range("i" & migi).Value = bango------(5)
'Range("i" & migi).Value = Range("e" & migi).Value '-------(4)
bango = bango + 1
End If
Next migi
5時間。[2]の逆パターンだとシンプルに考え(1)に等号を<>にしても予想もしない結果(実行するも何も表示されない)になる。よく考え、(3)以下の処理を考える。そして(3)に(2)から下4行end ifまでを入れて試みるが、I13には「53」I17には「108」と表示され,どうやらbangoのloopの回数が表示されるだけで解答には至らず。次に左のIDにない46, 33の値か出るか調べ(4)のコードを入れ実行すると46,33が表示される。そして(5)と
bango=bango+1にしてようやく出来上がる。
2018/08/19 15:16