Excel VBA質問箱 IV

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

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


8620 / 13644 ツリー ←次へ | 前へ→

【32197】カレンダーからの日付入力 05/12/8(木) 21:58 質問[未読]
【32199】Re:カレンダーからの日付入力 ponpon 05/12/8(木) 22:58 発言[未読]
【32200】Re:カレンダーからの日付入力 ichinose 05/12/8(木) 23:18 発言[未読]
【32201】Re:カレンダーからの日付入力 訂正 ichinose 05/12/8(木) 23:53 発言[未読]
【32231】Re:カレンダーからの日付入力 訂正 05/12/9(金) 21:42 お礼[未読]
【32232】Re:カレンダーからの日付入力 05/12/9(金) 21:45 お礼[未読]

【32197】カレンダーからの日付入力
質問    - 05/12/8(木) 21:58 -

引用なし
パスワード
   こんばんは。
カレンダーコントロールを使って日付を取得したのですが、
エクセルを保存して再度立ち上げたときに前回選択した日付を
カレンダー上で再度選択表示させたいのですが、可能ですか?

【32199】Re:カレンダーからの日付入力
発言  ponpon  - 05/12/8(木) 22:58 -

引用なし
パスワード
   ▼ぴ さん:
>こんばんは。
>カレンダーコントロールを使って日付を取得したのですが、
>エクセルを保存して再度立ち上げたときに前回選択した日付を
>カレンダー上で再度選択表示させたいのですが、可能ですか?

終わるときに、どこかのセルに書き込んでいて

呼び出すときに

Calendar1.Value = Range("どこかのセル").Value では、どうでしょう?      

【32200】Re:カレンダーからの日付入力
発言  ichinose  - 05/12/8(木) 23:18 -

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


>カレンダーコントロールを使って日付を取得したのですが、
>エクセルを保存して再度立ち上げたときに前回選択した日付を
>カレンダー上で再度選択表示させたいのですが、可能ですか?
可能です。が、このカレンダーコントロールの配置場所によって、
設定するプロパティが異なります。

カレンダーコントロールで選択した日付は、セルに書き出す設定を行います。
仮にそのセルをSheet1(シート名)のセルA1とします。


シートに貼り付けたカレンダーコントロールならば、
プロパティLinkedCellに「Sheet1!A1」と指定するだけでOKです(「」は除く)。


ユーザーフォームに貼り付けたカレンダーコントロールならば、


Private Sub UserForm_Initialize()
  With Calendar1
    .ControlSource = "=sheet1!a1"
    End With
End Sub

として下さい。

これでシート、ユーザーフォーム何れの場合でも
カレンダーコントロールで選択した日付がSheet1のセルA1に
入力されます。

また、このSheet1のセルA1の日付がカレンダーコントロールに反映されます。

確認してください。

尚、コントロールはどこに配置したコントロールなのか
はっきり記述してください。
記述が異なる場合もありますから・・・。

【32201】Re:カレンダーからの日付入力 訂正
発言  ichinose  - 05/12/8(木) 23:53 -

引用なし
パスワード
   訂正です。
ControlSource では、セル--->カレンダーの日付の反映は可能ですが、
カレンダー---->セルの日付の反映は出来ませんでした。
なので、

>ユーザーフォームに貼り付けたカレンダーコントロールならば、
>
>
>Private Sub UserForm_Initialize()
>  With Calendar1
>    .ControlSource = "=sheet1!a1"
>    End With
>End Sub
>
>として下さい。
ではなく、
'===============================
Private Sub Calendar1_Click()
  With Calendar1
    Worksheets("sheet1").Cells(1, 1).Value = .Value
    End With
End Sub
Private Sub UserForm_Initialize()
  With Calendar1
    .Value = Worksheets("sheet1").Cells(1, 1).Value
    End With
End Sub

とした方が良さそうです。

【32231】Re:カレンダーからの日付入力 訂正
お礼    - 05/12/9(金) 21:42 -

引用なし
パスワード
   お礼メールが遅れてしまってすみません。
無事マクロできました。
ありがとうございます。

【32232】Re:カレンダーからの日付入力
お礼    - 05/12/9(金) 21:45 -

引用なし
パスワード
   お礼メール遅れてすみません。
言われてみればそうですね・・・。アハハ。
ありがとうございました。無事できました。


▼ponpon さん:
>▼ぴ さん:
>>こんばんは。
>>カレンダーコントロールを使って日付を取得したのですが、
>>エクセルを保存して再度立ち上げたときに前回選択した日付を
>>カレンダー上で再度選択表示させたいのですが、可能ですか?
>
>終わるときに、どこかのセルに書き込んでいて
>
>呼び出すときに
>
>Calendar1.Value = Range("どこかのセル").Value では、どうでしょう?

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