Excel VBA質問箱 IV

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

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


18198 / 76738 ←次へ | 前へ→

【63983】Re:チェンジイベントについて
発言  kanabun  - 10/1/7(木) 14:59 -

引用なし
パスワード
  
日付のMatch検索で
 Date型の変数 myDate に セルのValueを代入し
 Match検索でそれを整数に直して↓検索していますが、
>  m = Application.Match(CLng(myDate), rngLookUp, 0)
 
セルのValueプロパティでなく、セルのValue2プロパティを使えば
直接MATCHの検索値に日付(数値)を指定できます。
以下、一部変数の宣言忘れがありましたので
それを付け加えたプロシージャコードです。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim LastR as long
  Dim myTarget As Range
  Dim 指定Day As Long, 基準Day As Long
  
  LastR = Range("A" & Rows.Count).End(xlUp).Row
  Set myTarget = Intersect(Range("K2").Resize(LastR - 1), Target) 'K列範囲
  If myTarget Is Nothing Then Exit Sub
  
  Application.EnableEvents = False
  
  Dim rngLookUp As Range, c As range
  Dim m As Variant
  With Sheets("MDay") '検索先範囲
   Set rngLookUp = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
  End With
  For Each c In myTarget
    c(1, 2).ClearContents      'L列をクリア
    m = Application.Match(c.Value2, rngLookUp, 0)
    If IsNumeric(m) Then
      指定Day = rngLookUp.Item(m, 2).Value
      m = Application.Match(c.Offset(, -4).Value2, rngLookUp, 0)
      If IsNumeric(m) Then
        基準Day = rngLookUp.Item(m, 2).Value
        c(1, 2).Value = 指定Day - 基準Day - 10 'L列
      End If
    End If
  Next
  
  Application.EnableEvents = True

End Sub

0 hits

【63981】チェンジイベントについて たつ 10/1/7(木) 14:15 質問
【63982】Re:チェンジイベントについて kanabun 10/1/7(木) 14:45 発言
【63983】Re:チェンジイベントについて kanabun 10/1/7(木) 14:59 発言
【63984】Re:チェンジイベントについて たつ 10/1/7(木) 16:46 お礼
【63986】Re:チェンジイベントについて たつ 10/1/8(金) 10:37 質問
【63987】Re:チェンジイベントについて kanabun 10/1/8(金) 11:11 発言
【63988】Re:チェンジイベントについて kanabun 10/1/8(金) 11:43 発言
【63989】Re:チェンジイベントについて たつ 10/1/8(金) 12:50 お礼

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