|
こんにちは。かみちゃん です。
>エラーメッセージ:オブジェクトは、このプロパティまたはメソッドをサポートしていません
コントロールツールボックスのコンボボックスを使うには、
.Shapes("Taishou").Clear 'コンボボックスの初期化
ではなく
.Taishou.Clear 'コンボボックスの初期化
とします。
以下のURLが参考になるかと思います。
http://www.serpress.co.jp/excel/vba011.html
なお、全体としては、以下のような感じでできると思います。
Private Sub Workbook_Activate()
Const strDateForm As String = "gggee年mm月分"
Dim dZen_getu As Date
Dim dTou_getu As Date
Dim dRai_getu As Date
Dim dNow_date
dNow_date = Date '← ここでシステム日付を取得します。
'当月日付データ
dTou_getu = dNow_date
'前月日付データ
dZen_getu = Year(dNow_date) & "/" & (Month(dNow_date) - 1)
'来月日付データ
dRai_getu = Year(dNow_date) & "/" & (Month(dNow_date) + 1)
With Worksheets("Sheet1").Taishou
.Clear 'コンボボックスの初期化
'前月をコンボボックスに追加する
.AddItem Format(dZen_getu, strDateForm)
'当月をコンボボックスに追加する
.AddItem Format(dTou_getu, strDateForm)
'次月をコンボボックスに追加する
.AddItem Format(dRai_getu, strDateForm)
'当月を表示させる
.ListIndex = 1
End With
End Sub
また、「ブックを起動したとき、システムから日付を取得し、〜」であれば、
Private Sub Workbook_Activate()
ではなく
Private Sub Workbook_Open()
でいいのではないでしょうか?
Private Sub Workbook_Activate()
を使うと、複数ブックを開いているときに、アクティブになるごとに実行されます。
|
|