Excel VBA質問箱 IV

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

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


12685 / 13645 ツリー ←次へ | 前へ→

【9156】翌月の日付に変更させたい ゆう 03/11/19(水) 17:24 質問
【9157】Re:翌月の日付に変更させたい ぴかる 03/11/19(水) 18:00 回答
【9158】作ってみました。 ぴかる 03/11/19(水) 18:14 回答
【9164】Re:翌月の日付に変更させたい kein 03/11/19(水) 19:40 回答
【9201】Re:翌月の日付に変更させたい ゆう 03/11/21(金) 9:27 お礼

【9156】翌月の日付に変更させたい
質問  ゆう  - 03/11/19(水) 17:24 -

引用なし
パスワード
   いつもお世話になっております。
DataというシートのA2に 12/1 などの日付が入っています。
これを、翌月の1日(1/1 など)に変更するマクロを作成したいと思っています。

月により、31日や30日などがあるので、
下のようなマクロを作ってみました。
しかし、型が一致しませんとのエラーが出てしまいます。

どこが間違っているのでしょうか?
ご指摘頂けますか??
(宣言が無いとは思うのですが、何を変数にしていいのか分からず
こんな式になってしまいました。。。)
よろしくお願いします。

Sub Macro2()
If Worksheets("Data").Range("A2") = _
"1/1" Or "5/1" Or "7/1" Or "8/1" Or "10/1" Or "12/1" Then
 Worksheets("Data").Range("A2").Value = _
 Worksheets("Data").Range("A2").Value + 31

ElseIf Worksheets("Data").Range("A2") = "2/1" Then
 Worksheets("Data").Range("A2").Value = _
 Worksheets("Data").Range("A2").Value + 28

Else
Worksheets("Data").Range("A2").Value = _
 Worksheets("Data").Range("A2").Value + 30

End If
End Sub

【9157】Re:翌月の日付に変更させたい
回答  ぴかる  - 03/11/19(水) 18:00 -

引用なし
パスワード
   ゆうさん、こんにちは。

ダイレクトにやってみるのは、どうですか?。
必要に応じて、年・月を変数化してみてはと・・・。

  Range("A1").Value = CDate("03/12/1")

【9158】作ってみました。
回答  ぴかる  - 03/11/19(水) 18:14 -

引用なし
パスワード
   こんなんでどう?。

Sub TEST()

Dim 日付 As Long

  日付 = Worksheets("Data").Range("A2").Value
  If Month(日付) < 12 Then
    Worksheets("Data").Range("A2").Value = CDate(Year(日付) & "/" & Month(日付) + 1 & "/1")
  Else
    Worksheets("Data").Range("A2").Value = CDate(Year(日付) + 1 & "/1/1")
  End If
  
End Sub

【9164】Re:翌月の日付に変更させたい
回答  kein  - 03/11/19(水) 19:40 -

引用なし
パスワード
   >DataというシートのA2に 12/1 などの日付が入っています。
>これを、翌月の1日(1/1 など)に変更する
A2 の日付は 1日 とは限らないわけですね ? すると・・

Dim MyD As Date

With Sheets("Data").Range("A2")
  MyD = DateSerial(Year(.Value), Month(.Value), 1)
  .Value = Format(DateAdd("m", 1, MyD), "m/d")
End With

ぐらいでどうでしょーか ?

【9201】Re:翌月の日付に変更させたい
お礼  ゆう  - 03/11/21(金) 9:27 -

引用なし
パスワード
   kein さん。ぴかるさん。
ありがとうございます。

お二人に作成して頂いたものは
両方とも、解決でした。

自分の作成したもの(ダメダメなのですが)
と比較して、
お二人が作成してくれたものを
勉強させていただきますね!

本当にありがとうございました。

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