こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2003入力規則でカレンダーを表示したい

Excel2003の入力規則で写真の様なカレンダーを表示してクリックしたら日付が代入されるようにしたいです。
どのようにすればできるでしょうか?

投稿日時 - 2011-11-27 04:57:12

QNo.7156842

困ってます

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

面白そうなのでやってみた。for XL2002
コントロールツールボックスツールバーから コントロールの選択ボタンをクリックし、カレンダーコントロールを配置

カレンダーを右クリックしてコードを表示
Private Sub Calendar1_Click()
    If ActiveCell.Column = 3 Then ActiveCell = Calendar1.Value
    ActiveCell.Select
End Sub
として C列に入力するようにしてみた。
でも、意外と邪魔。よって、(試行錯誤の末)下記を追加した。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then
    Calendar1.Visible = True
    Calendar1.Top = ActiveCell.Top + 50
Else
    Calendar1.Visible = False
End If
End Sub
コントロールツールボックスツールバーから [デザインモードの終了]
なんとか使えるかな。。。

投稿日時 - 2011-11-28 04:07:44

ANo.4

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

[No.2]の誤謬訂正

B7: =B7+7

B7: =B6+7
に訂正します。

投稿日時 - 2011-11-27 14:36:58

》 写真の様なカレンダーを表示してクリックしたら日付が代入されるようにしたい

「写真の様なカレンダーを表示」するには次のようにしたらできます。
でも、カレンダー中の日付セルを「クリックしたら」別セルにその「日付が代入される」方法は私には(不勉強で)分かりません。

添付図参照(Excel 2002 で作成)

セル D3、F3 の書式は次のとおり。
D3: G/標準"月"
F3: G/標準"年"
これらのセルの右側に、[表示]→[ツールバー]→[スピンボタン]を配置して、
[コントロールの書式設定]→[コントロール]において、
D3スピンボタン: 最小値  1、最大値  12、増分 1
F3スピンボタン: 最小値 1900、最大値 2999、増分 1
を、それぞれ設定

B6: =DATE(F3,D3,1)-(WEEKDAY(DATE(F3,D3,1))-1)
C6: =B6+1
セル C6 を右側にズズーッとセル H6 までドラッグ&ペースト
B7: =B7+7
セル B7 を右側にズズーッとセル H7 までドラッグ&ペースト
範囲 B7:H7 を下側にズズーッと9行目までドラッグ&ペースト
B10: =IF(MONTH(B9+14)=$D3,TEXT(B9+7,"d")&"/"&TEXT(B9+14,"d"),B9+7)
セル B10 を右側にズズーッとセル H10 までドラッグ&ペースト

範囲B6:H10 を選択して、セルが B6 であることを確認した後で、次の[条件付き書式]を設定

数式が   =MONTH(B6)<>$D$3
フォント色 白

投稿日時 - 2011-11-27 13:36:47

ANo.1

入力規則にはそういったモノを表示する機能はありませんので,諦めてください。



#補足
ご質問内容からは外れますので説明はしませんが,入力規則とは無関係にとにかくそういうことをしたいなら,ネットで「Excel カレンダーコントロール」などで調べてみると使える道具の解説が見つかります。確認して自作してみては。

投稿日時 - 2011-11-27 11:12:15

あなたにオススメの質問