Excel VBA質問箱 IV

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

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


51741 / 76738 ←次へ | 前へ→

【29858】Re:sheet_activateでの日付の自動挿入について
発言  赤色吐息  - 05/10/14(金) 23:31 -

引用なし
パスワード
   ▼溜息吐息 さん:
'A1 に年、B1に月を入力するとRange("A4:A35")に日付を入力するマクロを見つけました。
B1には、=Today()・・・書式の設定で例えば10月に変更して活用されては?
後はアレンジしてください。


Private Sub Worksheet_Change(ByVal Target As Range)
 Dim themonth As Integer
 Dim theyear As Integer
 Dim days As Integer
With Target
  If IsEmpty(.Value) Then Exit Sub
  If Not IsNumeric(.Value) Then Exit Sub
  If .Count > 1 Then Exit Sub
    Application.EnableEvents = False
  If .Address(0, 0) = "A1" Or .Address(0, 0) = "B1" Then   
   If Range("A1").Value <> "" And Range("B1").Value <> "" And _
  IsNumeric(Range("A1").Value) And IsNumeric(Range("B1").Value) Then  
     Range("A4:A35").ClearContents
     theyear = Range("A1").Value
     themonth = WorksheetFunction.RoundDown(Range("B1").Value, 0)  
     If themonth >= 1 And themonth <= 12 Then
      With Range("A4")        
      For days = 1 To Day(DateSerial(theyear, themonth + 1, 1) - 1)
       .Offset(days - 1).Value = DateSerial(theyear, themonth, days)
         Next
      End With
     Else
      MsgBox "月の値は、1〜12を入力してください。"
       Range("B1").Select
     End If
    End If
   End If
End With
Application.EnableEvents = True

End Sub
0 hits

【29856】sheet_activateでの日付の自動挿入について 溜息吐息 05/10/14(金) 22:12 質問
【29858】Re:sheet_activateでの日付の自動挿入につ... 赤色吐息 05/10/14(金) 23:31 発言
【29862】Re:sheet_activateでの日付の自動挿入に... ponpon 05/10/15(土) 0:33 発言
【29874】Re:sheet_activateでの日付の自動挿入に... PI 05/10/15(土) 11:35 発言
【29875】Re:sheet_activateでの日付の自動挿入に... ponpon 05/10/15(土) 11:56 発言
【29864】Re:sheet_activateでの日付の自動挿入につ... awu 05/10/15(土) 1:40 回答

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