dポイントプレゼントキャンペーン実施中!

カレンダーコントロールを縮小しておき、クリックすると拡大する。
または、コマンドボタン(カレンダーマークのようなもの)をつくっておいて、くりっくすると、カレンダーコントロールが開く、というVBAは可能でしょうか?
VBAは勉強し始めたばかりです。

フォームを拡大するVBAは覚えました。だめもとでトライしたとこと、やはりダメでした。

アドバイスお願いいたします。

A 回答 (3件)

Private Sub Calendar1_Click()


Calendar1.Height = 400
Calendar1.Width = 200
TextBox1.Text = Calendar1.Value
End Sub

Private Sub UserForm_Initialize()
Calendar1.Height = 150
Calendar1.Width = 100
End Sub
>カレンダーコントロールを縮小しておき
はjyoukide出来るかも
>コマンドボタン(カレンダーマークのようなもの)をつくっておいて
>カレンダーマークのようなもの)をつくっておいて
作るのが素人では難しいのでは。
コマンドボタンにその役割を担わせるのは、冗長ではないですか。
>くりっくすると、カレンダーコントロールが開く
使うならVisible=True,Falseの切替でしょう。
ーー
フォームをクリックするとカレンダーが現れる
日付をクリックすると、テキストに日付がセットされ、カレンダーは消える。
Private Sub Calendar1_Click()
TextBox1.Text = Calendar1.Value
Calendar1.Visible = False
End Sub

Private Sub UserForm_Click()
Calendar1.Visible = True
Calendar1.Height = 400
Calendar1.Width = 200
End Sub

Private Sub UserForm_Initialize()
Calendar1.Height = 150
Calendar1.Width = 100
Calendar1.Visible = False
End Sub
たまたまエクセルVBAでやっているので、アクセスで葉必要あれば修正のこと
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/07/12 16:03

カレンダーコントロールの名前を


「ActiveXコントロール」
の代わりに入れてください。

たとえば、「カレンダーコントロール1」なら、
カレンダーコントロール1.Visible = Not カレンダーコントロール1.Visible

のように。
    • good
    • 0

コマンドボタンとカレンダーコントロールをフォーム上に配置し、



Private Sub コマンド1_Click()
ActiveXコントロール0.Visible = Not ActiveXコントロール0.Visible
End Sub

とすると、トグルでカレンダーの表示/非表示を行うことができます。

本当はMicrosoft Time and Date Pickerが使えると便利なのですが、
ライセンス上は、VB6がないと使ってはいけないという話もあります。

この回答への補足

早速の回答ありがとうございました。
おっしゃっている意味も理解してやってみましたが、実行エラーが出てしまいます。
そして、オブジェクトが必要です。とも出ます。
私のやり方がどこかおかしいのでしょうか?

ちなみに以下のとおりです。

rivate Sub コマンド49_Click()
ActiveXコントロール.Visible = Not ActiveXコントロール.Visible
End Sub

補足日時:2011/07/11 15:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています