Excel VBA質問箱 IV

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

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


14904 / 76734 ←次へ | 前へ→

【67317】Re:Findでシートと行を範囲指定して検索する方法
回答  Hirofumi  - 10/11/24(水) 9:12 -

引用なし
パスワード
   日付をFindで探すのは色々難しい見たい?
こんなのでは?

Sub 抽出_2()
  
  Dim lngYLine As Long
  Dim intXLine As Long
'  Dim Obj As Object
'  Dim day As Integer
'  Dim ws As String
  
  Dim i As Long
  Dim vntDay As Variant
  Dim vntDate() As Variant
  Dim wksList As Worksheet
  Dim ws As Worksheet
  
  Set wksList = ActiveWorkbook.Worksheets("シフト")
  
  vntDay = Range("F4").Value
  
  Set ws = ActiveSheet

'  Set Obj = Worksheets("シフト").Cells.Find(day, LookAt:=xlWhole)
'  If Obj Is Nothing Then
'    MsgBox "対象の日付が見つかりませんでした。"
'  Else
'    lngYLine = Worksheets("シフト").Cells.Find(day).Row
'    intXLine = Worksheets("シフト").Cells.Find(day).Column
'  End If
  '日付の行を配列として取得
  vntDate = wksList.Range("E3:AI3").Value
  '日付行を先頭から見て行く
  For i = 1 To UBound(vntDate, 2)
    'もし、Range("F4")と同じ日付が有ったらForを抜ける
    If vntDate(1, i) = vntDay Then
      Exit For
    End If
  Next i
  '日付が有った場合
  If i <= UBound(vntDate, 2) Then
    '行位置は固定
    lngYLine = 3
    'E列(5列目)からの列位置を取得
    intXLine = 5 + i - 1
  Else
    MsgBox "対象の日付が見つかりませんでした。"
  End If

  With wksList
    For i = 6 To 38
      If Not (.Cells(i, intXLine).Value = "" _
          Or .Cells(i, intXLine).Value = "休" _
              Or .Cells(i, intXLine).Value = "有 ") Then
        If .Cells(i, 2).Value <> "" Then
          ws.Range("B9").Value _
            = ws.Range("B9").Value & .Cells(i, 2).Value & "、"
        End If
      End If
    Next i
  End With
  
  ws.Activate

  Set wksList = Nothing
  Set ws = Nothing
  
End Sub

1 hits

【67316】Findでシートと行を範囲指定して検索する方法 まめ 10/11/23(火) 22:54 質問
【67317】Re:Findでシートと行を範囲指定して検索す... Hirofumi 10/11/24(水) 9:12 回答
【67318】Re:Findでシートと行を範囲指定して検索す... Hirofumi 10/11/24(水) 9:48 回答
【67349】Re:Findでシートと行を範囲指定して検索す... まめ 10/11/27(土) 1:38 お礼
【67319】Re:Findでシートと行を範囲指定して検索す... UO3 10/11/24(水) 10:49 発言
【67320】Re:Findでシートと行を範囲指定して検索す... UO3 10/11/24(水) 11:21 発言
【67352】Re:Findでシートと行を範囲指定して検索す... まめ 10/11/27(土) 2:36 お礼

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