• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでプルダウンの表示)

VBAでプルダウンの表示

このQ&Aのポイント
  • VBAを使用して、ブックを開いたときにプルダウンのユーザーフォームが表示される処理を作成したいです。
  • そして、プルダウンにはブックを開いた日から1年間の年月日が表示されるようにしたいです。
  • 具体的な処理の流れを考えましたが、実際にどうVBEに書いていいかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> ブックを開いたときに、プルダウンのユーザーフォームが表示され、 ならば、ユーザーフォームの中で処理完結するのが真っ当でしょう。 > 1、シートに「201507」~「201712」ぐらいまでをA列に記載し、 シート使うのは冗長では。 プルダウン選択してフォームでOK押したら、シートのそのセルに飛ぶとかなら、別ですが。 -- > 「201507」「201508」「201509」「201510」・・・のように年と月を表示するようにしたいです。 普通にアイテム追加するなら、 Private Sub UserForm_Initialize()  Dim YYYY As Integer  Dim MM As Integer  Dim iCount As Integer  YYYY = Year(Now()) ' 現在の年を取得  MM = Month(Now()) ' 現在の月を取得  For iCount = 1 To 12   ComboBox1.AddItem (Right("000" & YYYY, 4) & Right("0" & MM, 2))   MM = MM + 1   If 12 < MM Then    MM = 1    YYYY = YYYY + 1   End If  Next iCount  ComboBox1.ListIndex = 0 End Sub とか。

tomo-cafe-93
質問者

お礼

回答ありがとうございました。 丁寧な回答かつ、コードも記載していただき大変勉強になりました。

その他の回答 (2)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

まあ、コードで書けば別にそれでもいいんですけどね。 なんで「プロパティ」でシート上のセルを参照させないんですかね。 http://www.239-programing.com/excel-vba/ufm/ufm025.html (真ん中あたりのRowSourceプロパティ参照) 初めから表示する個数が決まっているなら、ワークシート上に 算式で計算させたセルを表示させる方が簡単だと思うんですが。

tomo-cafe-93
質問者

お礼

回答ありがとうございました。 VBA初心者であり、そのような方法があることを知りませんでした。 勉強になりました、ありがとうございます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ユーザーフォームにはCombobox1が配置されている。 ユーザーフォームモジュール: private sub Userform_Initialize()  dim i as integer  for i = 0 to 11   me.combobox1.additem format(dateadd("m",i,date), "yyyymm")  next i end sub

tomo-cafe-93
質問者

お礼

回答ありがとうございました。

関連するQ&A