5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
morimotoさんの投稿
(投稿ID: 4113)
シート「キャンペーン名簿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にしてようやく出来上がる。