Excel VBA質問箱 IV

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

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


664 / 75384 ←次へ | 前へ→

【80364】Re:カレンダーに予定を自動入力したい
発言  γ  - 19/2/1(金) 11:59 -

引用なし
パスワード
   カレンダには日付データが、日を表示するだけの形式でセットされているとの前提です。
straightforwardに、こんなコードではどうでしょうか。

Sub カレンダー入力2()
  Dim ws     As Worksheet
  Dim lastRow   As Long  
  Dim rngCalendar As Range  
  Dim rngFound  As Range 
  Dim d      As Long
  Dim s      As String
  Dim k      As Long

  Set ws = Worksheets("Sheet1")
  lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
  Set rngCalendar = ws.Range("E1:K10")

  For k = 1 To lastRow
    d = ws.Cells(k, "A").Value '日付け
    s = ws.Cells(k, "B").Value 'スケジュール
    Set rngFound = rngCalendar.find(Day(d), After:=rngCalendar(1), _
      LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
      MatchCase:=False, MatchByte:=False, SearchFormat:=False)
    
    '日でマッチさせると、たかだか2回マッチするだけなのでDo Loopは不要?
    If d = rngFound.Value Then
      Call setSchedule(rngFound.Offset(1, 0), s)
    Else
      Set rngFound = rngCalendar.FindNext(rngFound)
      If Not rngFound Is Nothing Then
        If d = rngFound.Value Then
          Call setSchedule(rngFound.Offset(1, 0), s)
        End If
      End If
    End If
  Next
End Sub
Function setSchedule(r As Range, s As String)
  If r.Value = "" Then
    r.Value = s
  Else
    r.Value = r.Value & vbLf & s
  End If
End Function

132 hits

【80354】カレンダーに予定を自動入力したい VBA初心者 19/1/31(木) 12:44 質問[未読]
【80356】Re:カレンダーに予定を自動入力したい γ 19/1/31(木) 20:34 発言[未読]
【80361】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/1(金) 9:33 お礼[未読]
【80364】Re:カレンダーに予定を自動入力したい γ 19/2/1(金) 11:59 発言[未読]
【80369】Re:カレンダーに予定を自動入力したい γ 19/2/2(土) 13:30 発言[未読]
【80375】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/5(火) 9:10 お礼[未読]
【80385】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/7(木) 11:40 質問[未読]
【80397】Re:カレンダーに予定を自動入力したい マナ 19/2/10(日) 9:04 発言[未読]
【80418】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/12(火) 9:28 回答[未読]
【80420】Re:カレンダーに予定を自動入力したい マナ 19/2/12(火) 19:30 発言[未読]
【80423】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/13(水) 14:12 回答[未読]
【80424】Re:カレンダーに予定を自動入力したい マナ 19/2/13(水) 18:56 発言[未読]
【80428】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/14(木) 10:46 回答[未読]
【80431】Re:カレンダーに予定を自動入力したい マナ 19/2/14(木) 19:16 発言[未読]
【80487】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/18(月) 14:09 回答[未読]
【80493】Re:カレンダーに予定を自動入力したい マナ 19/2/18(月) 17:46 発言[未読]
【80357】Re:カレンダーに予定を自動入力したい マナ 19/1/31(木) 20:59 発言[未読]
【80360】Re:カレンダーに予定を自動入力したい マナ 19/1/31(木) 22:47 発言[未読]
【80363】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/1(金) 11:48 質問[未読]
【80366】Re:カレンダーに予定を自動入力したい マナ 19/2/1(金) 22:00 発言[未読]
【80376】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/5(火) 9:23 お礼[未読]
【80380】Re:カレンダーに予定を自動入力したい マナ 19/2/5(火) 19:47 発言[未読]
【80362】Re:カレンダーに予定を自動入力したい VBA初心者 19/2/1(金) 10:05 お礼[未読]

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