セル横にカレンダーを表示!Excel2010で家計簿作成中のお悩み

このQ&Aのポイント
  • Excel2010で家計簿を作成中の方が、セル横にカレンダーを表示して日付をクリック入力したいとの悩みがあります。カレンダーが画面中央に来てしまうため、どうすればよいか困っているようです。
  • 解決策として、マクロに書き加えることで、カレンダーを指定したセル横に表示することができます。具体的なマクロの書き方や場所については、困っている方がマクロを記しているコードを共有していますので、それを参考にしてください。
  • 家計簿作成において、カレンダーを使って日付をクリック入力することは便利です。Excel2010を使っている方で、同じような悩みを抱えている方は、マクロを活用して解決してみてください!
回答を見る
  • ベストアンサー

セル横にカレンダーを表示、入力したい。

教えて!goo に昨日登録し、初質問させていただく  gekkadokusyaku(月下独酌) と申します。 新参者をよろしくお願いします。 Excel2010で家計簿を作成中です。セル横にカレンダー表示して日付をクリック入力したいのですが、カレンダーを入力セル横に持ってくるにはどうしたらよいでしょうか。(カレンダーが画面中央に来てしまいます。)カレンダーはネット上からダウンロードしたものを使用しています。 下記のマクロが家計簿シートに記してあります。これに何か書き加えて希望のものができないでしょうか。 Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) '家計簿にカレンダー表示 If Target.Column = 1 Or Target.Column = 11 Or Target.Column = 21 Then If Target.Row >= 5 And Target.Row <= 65 Then frmCal.Show End If End If End Sub 以上よろしくお願いします。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

No.1です。 肝心のファイル名が抜けていまいたし 参照URLより、「Pop_Up.Zip」をダウンロードして下さい

参考URL:
http://excel-2010.seesaa.net/article/154360048.html
gekkadokusyaku
質問者

お礼

chvamati 様 早速の回答を有難うございました。この後開いて実行してみます。何かありましたらまた質問いたしますのでよろしくお願いします。どんなものか楽しみです。                               gekkadokusyaku

gekkadokusyaku
質問者

補足

「Pop_Up.Zip」を開いてみました。綺麗なカレンダーですね。セル横にに表示されますが、ボタンクリック無しで入力できるようにならないでしょうか。それと、B6、G6、M6 とかから下の行へで入力可能に。 私が現在使っているものは「Ponto Excel 2010 カレンダーコントロール」というものです。それの入力セルを自分なりに修正して使用しているのですが、カレンダー表示位置が目的セル横に着ません。下記がそのコードですが、これに表示位置をセル横に持ってくるコードを追加できないでしょうか。根本が分かっていないので自分で書く事ができません。 重ねてよろしくお願いします                    gekkadokusyaku Private Sub Worksheet_SelectionChange(ByVal Target As Range) '家計簿にカレンダー表示 If Target.Column = 2 Or Target.Column = 12 Or Target.Column = 22 Then If Target.Row >= 5 And Target.Row <= 65 Then frmCal.Show End If End If End Sub

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

excel2010以降 カレンダーコントロールがなくなりましたね 参照URLより、「をダウンロードして下さい」

参考URL:
http://excel-2010.seesaa.net/article/154360048.html

関連するQ&A

  • シングルクリックでフォームが表示されない

    windowsXP  Excel2000 でマクロを作成している超初心者です。 あるサイトの暦で日付を入力するマクロですが、1枚のシートに 1)と 2)を併記して実験したところ正常に表示できました。 2)をシングルクリックで表示したいのですができません。なぜでしょうか? 2)はいかにも稚拙です。もっと整理したいのですが方法が分かりません。以上2点よろしくご指導ください。 -------------------------------------------------------------------- 1)シングルクリックで UserForm1を正常に起動できました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'シングルクリックで表示 Cancel = True 'プロシージャ終了後に表示されるショートカットメニューの非表示 If Target.Row > 22 And Target.Column > 2 And Target.Column < 4 Then UserForm1.Show End If If Target.Row > 22 And Target.Column > 13 And Target.Column < 15 Then UserForm1.Show End If End Sub ------------------------------------------------------------------------- 2)ダブルクリックでしか正常に表示されません。 'Private Sub Worksheet_SelectionChange(ByVal Target As Range)’ 起動しない Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) '起動した Cancel = True 'プロシージャ終了後に表示されるショートカットメニューの非表示 If Target.Row > 23 And Target.Column > 1 And Target.Column < 3 Then Call ShowCalendarFromRange2(Target) End If If Target.Row > 23 And Target.Column > 12 And Target.Column < 14 Then Call ShowCalendarFromRange2(Target) End If If Target.Row > 12 And Target.Row < 21 And Target.Column > 12 And Target.Column < 14 Then Call ShowCalendarFromRange2(Target) End If If Target.Row > 12 And Target.Row < 21 And Target.Column > 14 And Target.Column < 16 Then Call ShowCalendarFromRange2(Target) End If If Target.Row > 12 And Target.Row < 21 And Target.Column > 16 And Target.Column < 18 Then Call ShowCalendarFromRange2(Target) End If If Target.Row > 12 And Target.Row < 21 And Target.Column > 18 And Target.Column < 20 Then Call ShowCalendarFromRange2(Target) End If End Sub ----------------------------------------------------------------------- 3)'これがサイトにあった例で、これを元に上のスクリプトを作りました。 'Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 複数セル選択時は無視 ' If Target.Count <> 1 Then Exit Sub ' A列以外は無視(今回サンプルの例) ' If Target.Column <> 1 Then Exit Sub ' カレンダーフォームを起動する ' Call ShowCalendarFromRange2(Target) 'End Sub ---------------------------------------------------------------

  • エクセル2003 VBAでセル移動

    いつもお世話になります。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row > 9 Then If Target.Column = 3 Then Cells(Target.Row, 4).Select ElseIf Target.Column > 5 Then Cells(Target.Row + 1, 1).Select End If End If End Sub これで、B列からC列を飛ばしてD列にセル移動して取りあえずの目的は達成しているのですが、 D列からB列には方向キー移動してくれません。Target.Columnが3になるんで当たり前なんですが・・・ B列の入力ミスがあるときマウスで移動させるか、A列まで戻ってから方向キーで上に上がるかです。 何かいい方法ありませんでしょうか。D列から方向キーで戻るときも、出来ればC列を飛ばしてほしいです。 よろしくお願いします。

  • 指定セルクリックでカレンダー表示

    Excelsheet1VBAコードに下記に記載されておりA列全てのセルクリックでカレンダーが表示されますがA1セルクリックのみカレンダー表示するにはどのようにコードを変更すれば良いかお願いします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' 複数セル選択時は無視 If Target.Count <> 1 Then Exit Sub ' A列以外は無視(今回サンプルの例) If Target.Column <> 1 Then Exit Sub ' カレンダーフォームを起動する Call ShowCalendarFromRange(Target) End Sub

  • エクセル マクロを利用して繰り返して入力する方法

    マクロでA1B1C1D1E1F1セルに入力しF1入力後A2B2C2D2E2F2と 下方向へ繰り返し800行くらいまで入力し、それとB列はスキップしたいのですが下記の方法で別々のシートでは うまくいくのですが同じシ-ト内ではエラ-になってしまいます 次の行への移動 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 7 Then Cells(Target.Row + 1, 1).Select End If End Sub B列のスキップ Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("G1") <> "" Then If Target.Column = 2 Then Target.Offset(0, 1).Select End If End If End Sub どなたかご存じの方教えて下さい

  • マクロでカレンダーから選択したセルに日付を入力したい

    こんばんは。最近VBAの勉強を始め参考書を見ながら下記プログラミングを使い、選択したセルにカレンダーから日付をダブルクリックで入力したいのですが、記述が分かりません(○○○部分)。入力するセルは行や列を一行毎ずらしたりせず、自由に選択してダブルクリック入力したいのです。今の記述だと、1つのセルだけ入力した後、次のセル選択が出来ず困っています。ご指導宜しくお願い致します。 Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value  ○○○○ End Sub ----------- Private Sub UserForm_Initialize() Calendar1.Value = Data End Sub ----------- Private Sub Sheet1_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column <> 1 Then Exit Sub UserForm1.Show Cancel = True End Sub

  • エクセルVBAでクリックしたセルのみ書式を変えたいのです。

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Row <= 11 And Target.Column <= 11 Then With Selection .Interior.ColorIndex = 3 .Font.ColorIndex = 2 .Font.Bold = True End With End If End Sub これで出来るのですが、問題は別のセルに移動しても書式は変ったままなのです。(当り前ですが) 書式を変えるのはあくまで選択されている間だけにしたいのです。 どのようにすればよいのでしょうか? エクセル97です。

  • エクセルのコード表示についてですが。。

    Private Sub Worksheet_Change(ByVal Target As Range) (1)If Target.Column <> 4 Then Exit Sub Target.Offset(0, -3) = Now()   ⇒特定のセルに日時自動表示 (2)If Target.Column <> 4 Then Exit Sub  Target.Offset(0, 1) = "DUMMY"  ⇒特定のセルにDUMMYと自動表示 (3)If Target.Column = 4 Then  Target.Offset(0, -2) = "1"  Else             ⇒特定のセルに1と自動表示   (4)If Target.Column = 35 Then  Target.Offset(0, -2) = "2"  ⇒特定のセルに2と自動表示  End If  End If (5)If Target.Value = "T" Or Target.Value = "t" Then  Target.Value = "田中"    ⇒Tと入力すると田中と変換して表示  ElseIf Target.Value = "H" Or Target.Value = "h" Then  Target.Value = "林"     ⇒hと入力すると林と変換して表示  End If  End Sub 上のようなコードを入力すると(3)と(5)が機能しません。。なぜでしょうか??コードの表示がまずいのでしょうか??

  • マクロによる日時の表示

    こちらのページでお世話になり 以下のようなプログラムを使って 特定の行に入力があった場合となりのセルに入力時間が表示されるようにしたのですが、 通常は例としてA1に入力があった場合B1に入力時間が表示されるといった具合だったのですが、わけあってA1~A3を結合しなければならなくなってしまい、入力時間をB1~B3(同じく結合したセル)に表示したいのです。 同じマクロのままやってみたところ一応入力時間は表示されるのですが、A1~A3に入力したデータを消したときにエラーが出てデバックしますか?といった内容の表示が出てしまいます。 どこを変更するとエラーが出なくなるのでしょうか? ご存知のかたがいらっしゃいましたらどうぞご教授願います。よろしくお願いします。 Private Sub Worksheet_Change(ByVal Target As Range) ' 1行目のセルならマクロ終了 If Target.Row = 1 Then Exit Sub ' A列かC列かE列なら If Target.Column = 2 Or Target.Column = 4 Or Target.Column = 6 Or Target.Column = 8 Or Target.Column = 10 Or Target.Column = 12 Or Target.Column = 15 Then '  内容がブランクなら隣のセルをブランクにする If Target.Value = "" Then Target.Offset(0, 1).Value = "" Else Target.Offset(0, 1).Value = Format(Date + Time, "yyyy/mm/dd hh:mm:ss") End If End If End Sub

  • Excel2007のカレンダーコントロール

    Excel2007のカレンダーコントロールで質問します。 Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value ActiveSheet.Calendar1.Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$4" Then ActiveSheet.Calendar1.Visible = True End If End Sub この状態ですと、セルA4をクリックしたときだけカレンダーコントロールが表示されます。 A列をどこでもクリックしたときにカレンダーコントロールが表示されるようにするには どこを、どう変更すればよいのでしょうか? 教えてください。

  • マクロ、カーソルの相対移動

    下記マクロはカーソルの相対移動で教えいいただいたものです。 セルに値を入力しないで、Enterを押下した時もこのように動作させるためにはどのように記述したらいいでしょうか。教えてください。よろしくお願いいたします。 Private Sub Worksheet_Change(ByVal Target As Range) if Target.Column = 2 Then Cells(Target.Row,5).Select if Target.Column = 5 Then Cells(Target.Row,7).Select if Target.Column = 7 Then Cells(Target.Row + 1, 2).Select End Sub

専門家に質問してみよう