• ベストアンサー

コンボボックスにdateで取得した月の日数分を表示したい

imogasiの回答

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

>お礼のmatsu = day(DateSerial(year(now),month(now)+1,0))のところが正しいのかなと気になって、私もやって見ました。 下記がご参考になれば。 Sub test01() ' MsgBox Now() ' MsgBox Year(Now()) ' m=Month(Now()) + 1 ' MsgBox m ' MsgBox DateSerial(2002, 7, 1) m = Month(Now()) ' m = 12 If m = 12 Then m = 1 y = Year(Now()) + 1 Else m = Month(Now()) + 1 y = Year(Now()) End If a = DateSerial(y, m, 1) MsgBox a MsgBox DateValue(a - 1) '月末日 MsgBox Day(DateValue(a - 1)) End Sub 注釈の’を適当に外して確認してください。

rufas
質問者

お礼

有難うございます。ですが、初心者のため注釈の'のどれを外せばいいのかわからなくてメッセージボックスが出てきませんでした。すいません・・・ matsu = day(DateSerial(year(now),month(now)+1,0)) でなんとかできているような感じでしたので、理解できたこれでいこうかなと思うのですが・・・間違ってますか?間違ってたらこのシステムを納めて間もなく社員からいろいろ言われるんでしょうね(^_^;) バグ処理に追われそうです。有難うございました。

関連するQ&A

  • Excel コンボボックスに付いて

    VBA初心者です。 コンボボックスに付いて質問です。コンボボックス1・2があったとして、選択する内容がまったく同じな場合。 (コンボボックス1=名前1 2=名前2として) With 名前1 ・additem"鈴木" ・additem"田中"     ↓ End with With 名前2 ・additem"鈴木" ・additem"田中"     ↓ End with といった用にコンボボックスごとに入力せず、一つにまとめて入力する方法を教えて頂けないでしょうか、、、 また例えば『電話1』『電話2』というコンボボックスが『名前1・2』のボックスの次にあった場合、 (コンボボックス3=電話1 4=電話2として) With 電話1 ・additem"090-1・・・・・" ・additem"066-2・・・・・"   ・additem"090-3・・・・・" ・additem"066-4・・・・・"     ↓ End with With 電話2 ・additem"090-1・・・・・" ・additem"066-2・・・・・"   ・additem"090-3・・・・・" ・additem"066-4・・・・・"     ↓ End with 『名前1』で『鈴木』と選んだ場合に『電話1』で何らかの形で予め登録し『鈴木』⇒090-1・・・と090-2・・・と 電話1のボックスで選択出来るようにしたいのです。 『電話2』も同じで『名前2』で選択した名前により電話2のボックスに表示する電話番号を表示させたいのです。 今の場合だと『名前』は追加するたびに他の名前ボックスも追加しないといけない作業が出てきます。 電話に関しては名前より選択されたものに対して選択枠を減らして表示するようにし、選択作業のを軽減できればと考えています。 尚電話も一つにまとめて入力したいです。電話1・2は同じ内容です。 例はあくまで例ですので実際の内容とことなりますが、やろうとしている内容は同じです。 とても初心者な質問で申し訳御座いませんがご教授お願い致します。 例などで教えて頂ければ幸いです。

  • Excelマクロのコンボボックスについて

    マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 そのコンボボックスに「あああ」という項目を追加したのですが、「あああ」項目が一番下に追加されてしまいました。 Me.ComboBox1.AddItem "あああ" どのように書けば、コンボボックスの最上部に追加されるのでしょうか? どうかコードの書き方をお教えいただけませんでしょうか?

  • Excel:VBAでコンボボックスを活用する方法

    はじめまして。Excel2000でアンケートシートを作りたいと思っています。 その回答をコンボボックスから選ぶようにしたいのですが、「違う質問だけど同じ選択肢」というのがたくさんあるので簡潔にしたいのです。 このサイト等ネットで調べるとコントロールに変数を持たせる方法として Control(ComboBox & i)とか Me(ComboBox & i) というのを目にしましたが、どちらもこの状態には該当しないのかうまくいきませんでした。 コンボボックスごとにソースを作るしかないのでしょうか? 理想としてはforループでコンボボックスの回数だけ回して、if文でComboBox1と3と4と7には○○○、2と5と6には△△△を表示するようにできたらいいなぁと思っています。 (あくまで理想のソースです。) For i = 1 To 30 If i = 1 Or 3 Or 4 Or 7 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "非常に重要" .AddItem "重要" .AddItem "少し重要" .AddItem "重要ではない" End With ElseIf i = 2 Or 5 Or 6 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "はい" .AddItem "いいえ" End With End If Next i いかがでしょうか?☆部分をどうにかすることで解決するのでしょうか?他に方法があったらぜひご教示ください。 そもそもコンボボックスの作り方にも自信がありません。 以前に少しだけVBを経験してますが、ほぼ初心者です。 よろしくお願い致します。

  • エクセルVBA コンボボックスの値の転記

    エクセルVBAの質問です。 ユーザーフォームを表示し 年を選択するコンボボックス1 月を選択するコンボボックス2 を入力してもらい ユーザーフォームを閉じるときに sheet1のワークシートのC2セルに 「コンボボックス1の値」+「年」+と「コンボボックス2の値」+「月」をつなげて 入力できるというようなマクロを考えています。 下記の様に考えてみたのですが、 うまく入力できませんでした。 Private Sub UserForm_Initialize() With ComboBox1 .AddItem "2021" .AddItem "2022" .AddItem "2023" .AddItem "2024" End With With ComboBox2 .AddItem "1" .AddItem "2" .AddItem "3" .AddItem "4" .AddItem "5" .AddItem "6" .AddItem "7" .AddItem "8" .AddItem "9" .AddItem "10" .AddItem "11" .AddItem "12" End With Private Sub CommandButton1_Click() 'ユーザーフォームを閉じる Unload UserForm1 'ユーザーフォームの値をセルC2に入力 With Worksheets("sheet1") .Cells(2, 3).Value = "ComboBox1.Text" & "月" & "ComboBox2.Text" & "日" End With End Sub どのように修正すればいいでしょうか? よろしくお願いします。

  • OpenOfficeのコンボボックスの追加

    職場でOpenOffice 1.1.4 のマクロを使って プログラミングをしているのですが、コンボボックスに データを追加する作業で困っています StarSuite 8 Basic プログラミングに コンボボックスにデータを追加する場合は addItem(Item, Pos) と書いてあるのですが、 DrawPage = Sheet.DrawPage Form = DrawPage.Forms.GetByIndex(0) Form.cboDate.Text = Date() '今日の日付表示 Form.cboDate.addItem ("aaa",0) と記述すると、addItemのところで怒られます 本当は、バージョンアップをしたいのですが、 それもできません OpenOfficeに詳しい方がおられましたら、 教えてください

  • コンボボックスについて

    お世話になっております Visual Strudio 2010、.NetFramwork 3.5 で開発をしています VisualStudioの中のVBで、Windowsフォームの画面の開発をしています コンボボックスで質問なのですが、 コンボボックスで、「text」と、「value」を追加しようと思っています DataTable、ArrayList以外での「text」「value」の両方追加は可能でしょうか VB2003の、Webフォームで開発していたときは Combobox.additem(New ListItem("Key", "Disp") ができたのですが・・・ これと似たような機能は2010ではないのでしょうか もうひとつ、ArrayListで追加する場合、ArryListの順番がそのままValueの値になってしまいますが、ランダムな並びの数字のvalueでも、ArrayListでComboboxに追加できるでしょうか・・・

  • コンボボックス

    コンボボックスを入力不可にする時なんですけど、 コンボボックスが配列で50個あるんですけど、 ウィンドウプロパティでStyle 2-ドロップダウンリストとするのは、大変めんどくさいので、プログラムでかいたんですけど、  for i = 0 to 50    combo1(i).style = 2  next i   と書いたら”値の取得のみ可能なプロパティに値を設定することはできません”っていうエラーがでるんですけど、プログラムではどう書いたらいいんですか?

  • JavaでSwingを用いたコンボボックスの使い方

    こんにちは。 JavaでSwingを使いコンボボックスを使っています。 既にインスタンスを生成済みの空のコンボボックスに1次元配列を格納するにはどのようにしたら良いのでしょうか?いろいろ試行錯誤行いましたがうまくいきませんでした。 ★この空のコンボボックスに後から追加するにはどうしたらよいのでしょうか? JComboBox<String> a1,a2,a3; a1 = new JComboBox<String>(); a2 = new JComboBox<String>(); a3 = new JComboBox<String>(); addItemなどを使ってみましたがうまくいきませんでした。 追加するデータは1次元配列でできています。 Javaのバージョンは7です。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • エクセルVBAのコンボボックス

    エクセル2002使用です。 生年月日とかを入力できるコンボボックスを作っているのですが、同じコンボボックスを5つ作ろうとしています。例えば和暦を入力するには Private Sub userform_initialize() With ComboBox(1) .AddItem "昭和" .AddItem "平成" End sub でうまくいくのですが、2個目から5つ目まで同じものを作成する場合、 With ComboBox(2) ・・・ With ComboBox(3) ・・・ と、コードを記述していかないと駄目なのでしょうか? できれば With ComboBox(1: 5) とか、 変数を使って Private Sub userform_initialize() Dim i As Integer For i = 1 To 5 With ComboBox(i) .AddItem "昭和" .AddItem "平成" End With Next End sub といった具合にまとめたいのですが、コンパイルエラーとなってしまいます。 初歩的な質問で申し訳ないのですが、よろしくお願いします。

  • コンボボックスのClickイベント

    Combo1.AddItem "AAA" Combo1.AddItem "BBB" Combo1.AddItem "CCC" のようなコンボボックスがあり、プログラムの途中で Combo1.Text = "AAA" または Combo1.ListIndex = 0 としたときに、どちらの方法でもClickイベントが発生します。 このClickイベントを発生させないようにしたいのですが 何かよい方法はありますか? あれば教えてください。よろしくお願いします。