• 締切済み

エクセルVBAの日付について

『B1』のセルに日付が入力されています。 そこで、『B1』の日付を1日毎マクロで更新し、印刷する方法を教えて下さい。 結果として、マクロで印刷させるのは出来るのですが、日付を更新させるのが上手く出来ません。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

意図が良く判らないですが・・・ もし当日日付で良ければ Private Sub Workbook_Open() Worksheets("sheet1").Range("b1") = Date End Sub 機械的に前日なら Private Sub Workbook_Open() Worksheets("sheet1").Range("b1") = Date-1 End Sub 土日除き Private Sub Workbook_Open() y = Weekday(Date) Select Case y Case 1 Worksheets("sheet1").Range("B1") = Date - 2 Case 2 Worksheets("sheet1").Range("B1") = Date - 3 Case Else Worksheets("sheet1").Range("B1") = Date - 1 End Select End Sub ブックを開くと、自動でセットする例ですが、日付は マニュアルでセットするのもメリットがあります。

list
質問者

お礼

回答有り難う御座いました。

すると、全ての回答が全文表示されます。
  • aa109
  • ベストアンサー率11% (36/310)
回答No.2

1.はIF文で If range("b1").value="" then range("b1").value=range("b1").value+1 else 印刷(どのように印刷指定するか書いてください)  end if 月が変わったかどうかは 隣のセルに(隠しセルにするなどして) 月データを抜き出し表示させるか =で入力させておいて表示形式で Mを選択しここのvalue値を確認すれば良いかと思います

list
質問者

お礼

有り難う御座いました。

すると、全ての回答が全文表示されます。
  • aa109
  • ベストアンサー率11% (36/310)
回答No.1

毎日開くのですか?そのブックは・・ であるならば関数で可能ですが、=today() VBAというならば Workbook Openのイベントを利用すれば良いかと

list
質問者

補足

すみません 一部、説明が漏れていましたので、補足します。 毎日毎日、印刷するのではなく、1ヶ月分をまとめて印刷するため、 1.「B1の日付のデータがあるか認識する」    ├ ない → 3へ    └ ある → 2へ 2.「印刷する」 3.「B1の日付を1日足す」 4.「月が変わったか識別する」    ├ 変わった     → 終了    └ 変わっていない → 1へ 上記の「3」と「4」がどうしたら良いのか分からないのです、説明不足のところがあり申し訳ありませんでした。 再度、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A