Excel VBA質問箱 IV

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

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


10856 / 13646 ツリー ←次へ | 前へ→

【19546】月末の日付けを取得 mickeypapa 04/11/8(月) 22:34 質問[未読]
【19547】Re:月末の日付けを取得 ichinose 04/11/8(月) 22:46 回答[未読]
【19561】Re:月末の日付けを取得 mickeypapa 04/11/9(火) 17:25 お礼[未読]
【19548】Re:月末の日付けを取得 かみちゃん 04/11/8(月) 22:55 回答[未読]
【19562】Re:月末の日付けを取得 mickeypapa 04/11/9(火) 17:29 お礼[未読]
【19563】Re:月末の日付けを取得 mickeypapa 04/11/9(火) 17:56 質問[未読]
【19577】Re:月末の日付けを取得 mickeypapa 04/11/9(火) 21:18 発言[未読]
【19580】Re:月末の日付けを取得 Kein 04/11/9(火) 21:43 発言[未読]
【19582】Re:月末の日付けを取得 mickeypapa 04/11/9(火) 21:55 お礼[未読]

【19546】月末の日付けを取得
質問  mickeypapa WEB  - 04/11/8(月) 22:34 -

引用なし
パスワード
   今回も皆様のお力をお借りします。
ユーザーフォームのコンボボックスに
1月、2月、・・・・・12月とアイテムがあり、
その月を選んだときに、日付を表示する
テキストボックス(txtDay=Format(Date, "mm/dd")に
10月→10/31 、11月→11/30 と月末の日付が表示されるようにしたいのですが、
宜しくお願い致します。

【19547】Re:月末の日付けを取得
回答  ichinose  - 04/11/8(月) 22:46 -

引用なし
パスワード
   ▼mickeypapa さん:
こんばんは。

>今回も皆様のお力をお借りします。
>ユーザーフォームのコンボボックスに
>1月、2月、・・・・・12月とアイテムがあり、
>その月を選んだときに、日付を表示する
>テキストボックス(txtDay=Format(Date, "mm/dd")に
>10月→10/31 、11月→11/30 と月末の日付が表示されるようにしたいのですが、
>宜しくお願い致します。
コンボボックスがCombobox1だとすると、

'========================================
Private Sub ComboBox1_Change()
  TextBox1.Text = Format(CDate(ComboBox1.Value + 1 & "/1") - 1, "m/d")
End Sub

こんな方法でいかがですか?
翌月の一日から1日引けば、当月の月末ですよね?

【19548】Re:月末の日付けを取得
回答  かみちゃん  - 04/11/8(月) 22:55 -

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

>10月→10/31 、11月→11/30 と月末の日付が表示されるようにしたいのですが、

コンボボックスに「1月、2月、・・・・・12月」とアイテムがあるということなので、次の方法でいかがですか?

 txtDay = Format(DateAdd("m", 1, DateValue(Year(Date) & "年" & ComboBox.Value & "01日")) - 1, "mm/dd")

考え方は、ichinoseさんと同じで、その月の翌月の1日から1日を引くと月末になるという考え方です。

【19561】Re:月末の日付けを取得
お礼  mickeypapa WEB  - 04/11/9(火) 17:25 -

引用なし
パスワード
   ▼ichinose さん:
ichinoseさん有り難うございます。
私は、
Select Case Combobox1
   Case 1月,3月,5月・・・・
と考えていたのですが、なかなか上手くいかず
悩んでいました。おかげで解決することが出来ました。
有り難うございます。

【19562】Re:月末の日付けを取得
お礼  mickeypapa WEB  - 04/11/9(火) 17:29 -

引用なし
パスワード
   ▼かみちゃん さん:
かみちゃん さん有り難うございます。
おかげで日付の扱い方が、少し分かり掛けてきました。
閏年をどうしようかと思っていた矢先の方法だったので
目から鱗です。
有り難うございました。

【19563】Re:月末の日付けを取得
質問  mickeypapa WEB  - 04/11/9(火) 17:56 -

引用なし
パスワード
   ▼かみちゃん さん:
かみちゃん さん申し訳ありませんが、もう一つ聞きたいのですが、
テキストボックスに月末を取得した日付をスピンボタンで
その日付から増減するときには、どうしたらいいのでしょうか?
TextBox1 = Format(Date + spnDate1.Value,・・・では
現在日時からになってしまうので、
宜しくお願い致します。

【19577】Re:月末の日付けを取得
発言  mickeypapa WEB  - 04/11/9(火) 21:18 -

引用なし
パスワード
   ▼mickeypapa さん:
>▼かみちゃん さん:
>かみちゃん さん申し訳ありませんが、もう一つ聞きたいのですが、
>テキストボックスに月末を取得した日付をスピンボタンで
>その日付から増減するときには、どうしたらいいのでしょうか?
>TextBox1 = Format(Date + spnDate1.Value,・・・では
>現在日時からになってしまうので、
>宜しくお願い致します。

すみません。スピンボタンのコードに
txtDay1 = Format(DateAdd("m", 0, DateValue(Year(Date) & "年" _
        & cboMonth.Value & "01日")) + spnDate1.Value, "mm/dd")
で、出来ました。申し訳ありません

【19580】Re:月末の日付けを取得
発言  Kein  - 04/11/9(火) 21:43 -

引用なし
パスワード
   こんなコードでも、月末を取得できます。

Private Sub ComboBox1_Change()
  Dim MyY As Long, MyM As Long
  Dim MyDay As Date

  With ComboBox1
   MyY = Year(CDate(.Value))
   MyM = Month(CDate(.Value)) + 1
  End With
  MyDay = DateSerial(MyY, MyM, 0)
  TextBox1.Text = Format(MyDay, "m/d")
End Sub

【19582】Re:月末の日付けを取得
お礼  mickeypapa WEB  - 04/11/9(火) 21:55 -

引用なし
パスワード
   ▼Kein さん:
kein さん有り難うございます。一つの答えを出すのに
いろいろなアプローチがあることを、改めて感じております。
今後とも宜しくお願い致します。

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