トップページ > プログラム > 2016年05月10日 > wnAOqKt0

書き込み順位&時間帯一覧

9 位/244 ID中時間01234567891011121314151617181920212223Total
書き込み数0011002000000000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part41©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part41©2ch.net
196 :デフォルトの名無しさん[sage]:2016/05/10(火) 02:05:42.50 ID:wnAOqKt0
以下の条件の時はLoopし続ける
Not (fnd Is Nothing)            → fnd変数がNothingでは無い
And (fnd.Address <> fad)         → かつ fndセルのアドレスがfadと一致しない
And (Sheet2.Cells(a2,14).Value=num) → かつ Sheet2.Cells(a2,14).Valueとnumが一致

つまり以下の場合にLoopから抜ける
・fndがNothingになった時
・または fndセルのアドレスがfadと一致した時
・または Sheet2.Cells(a2,14).Valueとnumが一致しない
Excel VBA 質問スレ Part41©2ch.net
198 :デフォルトの名無しさん[sage]:2016/05/10(火) 03:51:15.80 ID:wnAOqKt0
>>197
そうなるかも・・・加えて言えば、(Not fnd Is Nothing) と (fnd.Address <> fad)の
条件部分もVBだと両立しないのでNothingの判定はいらないかも
※fnd変数のNothing 判定を並列のIF条件に書くと fndがNothing の時にたぶん実行時エラーが出る

ループの条件はたぶん以下のように省略できる
Do
 〜(ループ処理)
 Set fnd = Sheet2.Columns(14).FindNext(fnd)
Loop While (fnd.Address <> fad)
Excel VBA 質問スレ Part41©2ch.net
203 :デフォルトの名無しさん[sage]:2016/05/10(火) 06:06:50.39 ID:wnAOqKt0
>>202
fndの値は確かに最初の行に戻って抜けてしまうが、
FindNext直前のIf文の所で 変数 a2 に最新日付の行番号を取得しているようだし
Loopを抜けた後はそれを使えば欲しい行は持ってこれると思う

Sheet2.Rows(a2)
Sheet2.Cells(a2, [列番号])
Excel VBA 質問スレ Part41©2ch.net
204 :デフォルトの名無しさん[sage]:2016/05/10(火) 06:19:28.37 ID:wnAOqKt0
Range.Find , FindNext は検索の終端を検知できずループしてしまうから
最初のアドレスと比較することでループを抜ける条件にしてるんじゃないかな


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。