Excel VBA質問箱 IV

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

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


14901 / 76734 ←次へ | 前へ→

【67320】Re:Findでシートと行を範囲指定して検索する方法
発言  UO3  - 10/11/24(水) 11:21 -

引用なし
パスワード
   補足というか参考情報です。


【日付】が【1〜31の整数】だとして、Findではない方法で場所を取得するサンプルです。
Sample2 は E列が1、F列が2、G列が3・・・となっていることが前提ですが。


Option Explicit

Sub Sample1()
 Dim lngYLine As Long
 Dim intXLine As Variant '見つからなかったときのエラー値を格納するためVariant
 Dim day As Long     'A4に大きな値が入っている場合の障害を想定してLong
 Dim okFlag As Boolean
 With Worksheets("シフト")
  day = Val(.Range("A4").Value)
  lngYLine = 3
  intXLine = Application.Match(day, .Range("E3:AI3"), 0)
  If IsNumeric(intXLine) Then
   intXLine = intXLine + .Columns("D:D").Column
   If .Cells(lngYLine, intXLine).Value = day Then okFlag = True
  End If
  
  If Not okFlag Then
   MsgBox "対象の日付が見つかりませんでした。"
  Else
   '後半のロジック
  End If
 End With
End Sub

Sub Sample2()
 Dim lngYLine As Long
 Dim intXLine As Integer
 Dim day As Long     'A4に大きな値が入っている場合の障害を想定してLong
 With Worksheets("シフト")
  day = Val(.Range("A4").Value)
  lngYLine = 3
  intXLine = day + .Columns("D:D").Column
  If .Cells(lngYLine, intXLine).Value <> day Then
   MsgBox "対象の日付が見つかりませんでした。"
  Else
   '後半のロジック
  End If
 End With
End Sub

2 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 お礼

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