Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


26923 / 76732 ←次へ | 前へ→

【55135】Re:元に戻すには
回答  stais  - 08/4/16(水) 16:15 -

引用なし
パスワード
   こんにちわ。
コード説明です。
Sub Test()
Dim Fi As Range, Ad As String, Ch As Boolean
Ch = True
With Worksheets("報告書")
   'シート報告書のセルAL2の氏名をリストシートの2列目の氏名を検索する
   Set Fi = Worksheets("リスト").Columns(2).Find(.Range("AL2"), , xlValue, xlWhole)
   '氏名が一致したのがあったかを区分
   If Fi Is Nothing Then
    '有った場合
    Ad = Fi.Address
    '一致する指名が複数有った場合を想定してループにて確認
    Do
     Set Fi = Worksheets("リスト").Columns(2).FindNext(Fi)
     'リストシートの一致した指名の隣のセル(C列)の日付と
     'シート報告書のセルI3の日付が一致しているかを確認
     If Fi.Offset(, 1).Text = .Range("l3").Text Then
       'データを転記
       .Range("I4").Resize(3).Value = Application.Transpose(Fi.Offset(, 2).Resize(, 3).Value)
       .Range("I8").Value = Fi.Offset(, 5).Value
       .Range("I10").Value = Fi.Offset(, 6).Value
       '変数ChをFalseにしループを抜ける
       Ch = False: Exit Do
     End If
    Loop Until Ad = Fi.Address
   Else
    '無かった場合End_Lenへ
    GoTo End_Len
   End If
End With
'変数Chの値がTrueならEnd_Lenへ
'(ここで変数ChがTrue場合は日付が一致したのが無かったことになる)
If Ch Then GoTo End_Len
Exit Sub

End_Len:
   MsgBox "該当なし", vbInformation
End Sub

確認です。
シート報告書のセルの確認です
氏名=AL2 ですか?
日付=I3 ですか?

シートリストセルの確認です。
氏名=B列 ですか?
日付=C列 ですか?
6 hits

【55094】元に戻すには ウィル 08/4/15(火) 11:02 質問
【55095】Re:元に戻すには ひげくま 08/4/15(火) 11:23 発言
【55101】Re:元に戻すには ウィル 08/4/15(火) 12:31 回答
【55102】Re:元に戻すには ひげくま 08/4/15(火) 12:54 回答
【55106】Re:元に戻すには stais 08/4/15(火) 15:09 回答
【55120】Re:元に戻すには ウィル 08/4/15(火) 23:44 回答
【55125】Re:元に戻すには stais 08/4/16(水) 12:51 発言
【55134】Re:元に戻すには ウィル 08/4/16(水) 15:26 回答
【55135】Re:元に戻すには stais 08/4/16(水) 16:15 回答
【55139】Re:元に戻すには ウィル 08/4/16(水) 16:45 回答
【55141】Re:元に戻すには stais 08/4/16(水) 17:03 回答
【55146】Re:元に戻すには stais 08/4/16(水) 17:31 回答
【55143】Re:元に戻すには stais 08/4/16(水) 17:08 質問
【55149】Re:元に戻すには ウィル 08/4/16(水) 20:11 お礼

26923 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free