Excel VBA質問箱 IV

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

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


54715 / 76738 ←次へ | 前へ→

【26809】Re:日付の自動生成について
回答  かみちゃん  - 05/7/19(火) 1:04 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>やってみましたが、うまくいきません。

すでにponponさんから、レスがついていますが、標準モジュールのコードを使わず、
以下のコードをシートモジュールに置いて処理してみてください。

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
 End With
 
 '入力セルがA1とB1の場合のみ処理する
 If Target.Address = Range("A1").Address Or _
  Target.Address = Range("B1").Address Then
  
  'A1とB1に数値が入力してあれば、処理する。
  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 = Range("B1").Value
    '月の値が1〜12かをチェック(小数点だったときも反応してしまうが・・・)
    If themonth >= 1 And themonth <= 12 Then
     With Range("A4")
      '1ヶ月分の日付を生成する。
      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
  '以下、別にいらない機能
  If Target.Address = Range("A1").Address Then
   Range("B1").Select
  End If
  If Target.Address = Range("B1").Address Then
   Range("A1").Select
  End If
  'ここまで
 End If
End Sub

0 hits

【26776】実行ボタンの省略について mimi 05/7/17(日) 17:01 質問
【26777】Re:日付の自動生成について かみちゃん 05/7/17(日) 17:10 発言
【26796】Re:日付の自動生成について mimi 05/7/18(月) 15:57 質問
【26800】Re:日付の自動生成について ponpon 05/7/18(月) 17:36 回答
【26809】Re:日付の自動生成について かみちゃん 05/7/19(火) 1:04 回答
【26824】Re:日付の自動生成について ponpon 05/7/20(水) 0:00 発言
【26827】Re:日付の自動生成について かみちゃん 05/7/20(水) 0:28 回答
【26825】Re:日付の自動生成について mimi 05/7/20(水) 0:17 質問
【26826】Re:日付の自動生成について かみちゃん 05/7/20(水) 0:22 回答
【26856】Re:日付の自動生成について mimi 05/7/21(木) 14:04 お礼

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