「カレンダーコントロール12.0」の使用について

このQ&Aのポイント
  • Excelで1か月分の日報を作成する際に、「カレンダーコントロール12.0」を利用して日付を挿入する方法がわかりません。
  • カレンダーをONにして日付を挿入しようとすると、挿入できません。対応策として、「開発」タブの「デザインモード」ボタンをON→OFFに切り替え、日付をダブルクリックする必要があります。
  • カレンダーON→日付をダブルクリックすることで、日付を挿入することができます。改善方法について教えてください。
回答を見る
  • ベストアンサー

「カレンダーコントロール12.0」の使用について

よろしくお願いします。 Excelで1か月分の日報を作成しています。 1ワークシートに1日の日報を作成しています。 すなわち、1ブックに31日分の日報を作成します。 日付の入力は、「カレンダーコントロール12.0」を利用しています。 まず、標準モジュールの中に「Mojule1」を作成し、次のようにマクロを組みました。 Option Explicit Sub カレンダー表示()  カレンダー表示 Macro ActiveSheet.OLEObjects.Add(ClassType:="MSCAL.Calendar.7", Link:=False, _ DisplayAsIcon:=False, Left:=673.5, Top:=58.5, Width:=204.75, Height:= _ 203.25).Select End Sub Sub カレンダー消去()  カレンダー消去 Macro ActiveSheet.Shapes("Calendar1").Select Selection.Delete End Sub これでカレンダーのON,OFFは正常に動作します。 問題なのは、カレンダーをONにして日付を挿入しようとすると、挿入できません。 現在の対応策として、カレンダーをON →「開発」タブ →「デザインモード」ボタンON→OFF→日付をダブルクリック この操作をすると正常に日付が挿入されます。 その記述は、各ワークシートに次のようになっています。 Option Explicit Private Sub Calendar1_DblClick() ActiveSheet.Range("A3", "C3") = Calendar1.Value End Sub カレンダーON→日付をダブルクリック これで挿入できるようにするには、どこをどのように改めれば良いでしょうか。 よろしくお願いします。 Windows Vista Home Premium SP-2 Office 2007 SP-2

  • 67boy
  • お礼率91% (144/157)

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

推奨は,各シートのカレンダーコントロールはそこに置いたままにしておいて 標準モジュールの中に「Mojule1」 Sub カレンダーON() activesheet.calendar1.visible = true End Sub Sub カレンダーOFF() activesheet.calendar1.visible = false End Sub 各ワークシート Private Sub Calendar1_DblClick() ActiveSheet.Range("A3") = Calendar1.Value End Sub のようにします。

67boy
質問者

お礼

keithin さん、ありがとうございます。 私が欲しかった状態になりました。 ズバリです。 またよろしくお願いします。

関連するQ&A

  • Excelで日付入力用カレンダーを作るには

    お世話になります。 従来のファイル(Excel 2007)を Office 2010 の環境で開くと、マクロで作成した「日付入力用のカレンダー」が表示できませんでした。 このパソコンに Access 2007 をインストールしました。 その結果、このファイルは正常にカレンダーを表示し、日付を入力できるようになりました。 Excel 2010 の新規ファイルに、従来のファイルの VBA をコピーして、貼り付けました。 ところが、この新規ファイルでは、カレンダーを表示できず、別添のようなメッセージが表示されます。 この原因を教えていただければ有難いです。 なお、そのVBA は次のようなものです。 [各ワークシート] Option Explicit Sub カレンダーON() ActiveSheet.Calendar1.Visible = True End Sub Sub カレンダーOFF() ActiveSheet.Calendar1.Visible = False End Sub [標準モジュール] Option Explicit Private Sub Calendar1_DblClick() ActiveSheet.Range("A3", "C3") = Calendar1.Value 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列をどこでもクリックしたときにカレンダーコントロールが表示されるようにするには どこを、どう変更すればよいのでしょうか? 教えてください。

  • access2010でのカレンダーコントロール

    http://msdn.microsoft.com/ja-jp/library/office/gg251104%28v=office.14%29.aspx 上記urlにある「カスタムカレンダーフォームを使用する」の方法でコントロール[frmCalendar]をクリックすると同時にtextbox[日報選択]の日付を変更することができるのですが、他のサブフォームのリクエリができません。これを1回のクリックでサブフォームをリクエリさせる方法はないですか? 現状ではコントロールによって変更されたtextbox内をもう一度クリックすると他のサブフォームがリクエリされます。下記はVBですが変更または追加があれば教えてください。 Option Compare Database Private WithEvents calendarForm As Form_frmCalendar ------------------------------------------------- Private Sub calendarForm_DateChanged(newDate As Date) Me.[日報選択] = newDate End Sub ----------------------------------------------------- Private Sub Form_Open(Cancel As Integer) Set calendarForm = Me.Calendar.Form End Sub ---------------------------------------------------- Private Sub Form_Click() DoCmd.OpenForm "F_日報" DoCmd.Close End Sub ---------------------------------------------------- Private Sub Form_Load() Me![日報選択].Value = Date Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery Me!F_日報商品売上.Requery End Sub ---------------------------------------------- Private Sub 日報選択_AfterUpdate() Me!F_日報商品売上.Requery Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery End Sub ---------------------------------------- Private Sub 日報選択_Click() Me!F_日報商品売上.Requery Me!F_日報扱い現金.Requery Me!F_日報扱いクレジット.Requery End Sub

  • アクセス2003でカレンダーコントロールを挿入し、フォームの開くときイ

    アクセス2003でカレンダーコントロールを挿入し、フォームの開くときイベントに、 Private Sub Form_Open(Cancel As Integer) Me.Calendar7.Visible = True Me.Calendar7.Value = Date End Sub と記述しても、当日の日付が表示されません。 原因がわからないのでどなたか教えてください。

  • アクセス テーブルリンクのカレンダーコントロール

    受注管理システムを作っています。 カレンダーコントロールについてです。 社内運用上、データを独立?(表現は正しいのでしょうか?)させています。 なので、受注データからプログラムの方へテーブルリンクをしています。 そのせいでしょうか? カレンダーコントロールの日付を受注日に表示させる、という作業が、データをリンクしていない原システムで練習するとできるのに、本番用のテーブルリンクの方のオウログラムでやると、値が表示されません。 解決の方法はございますか? まだまだアクセス初心者です。GOOで教えていただいたり、参考書開き開き独学中です。 ちなみに、こちらです。 Private Sub 受注日_Click() Me.カレンダー.Visible = True '表示 Me.カレンダー.Value = Date '日付規定値 本日 End Sub Private Sub ActiveX_カレンダー_Click() Me.受注日 = Me.カレンダー.Value Me.受注日.SetFocus End Sub Private Sub 営業担当コード_LostFocus() Me.カレンダー.Visible = False '非表示 End Sub

  • マクロが実行しない

     二行三列を一枡として月の勤務割表を作成しています。マクロで同じ事を しているのにMacro1の方が実行しません。お教え願えませんでしょうか。 (尚、図形を枠線上にコピペしています。) Sub Macro1()実行しません。 Dim i As Integer Dim j As Integer For i = 10 To 43 Step 2 For j = 10 To 103 Step 3 Select Case Cells(i, j).Value Case 1: ActiveSheet.Shapes("四角形1").Select Selection.Copy Cells(i + 1, j + 1).Select ActiveSheet.Paste End Select Next Next End Sub Sub Macro2()実行します。 ActiveSheet.Shapes.Range(Array("四角形1")).Select Selection.Copy Range("J11:K11").Select ActiveSheet.Paste End Sub

  • Excelで複数のマクロを一本化する方法

    Macro5とMacro6を組み合わせて下記のような処理をさせたいのですが方法がわかりません。 お知恵をお貸しください。 1 日付を確認する 2 Macro6でコピー 3 日付にあわせてMacro5で貼り付け   今日が1日ならC14から貼り付け   2日ならC25から貼り付け   3日ならC36から貼り付け    ・      ・    ・   31日ならc344から貼り付け 作成したマクロ ' Macro5 Macro ' マクロ記録日 : 2007/4/25 ユーザー名 : ' ' Keyboard Shortcut: Ctrl+r ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub Sub Macro6() ' Macro6 Macro ' マクロ記録日 : 2007/4/25 ユーザー名 : ' ' Keyboard Shortcut: Ctrl+q ' Range("C2:AD12").Select Selection.Copy End Sub

  • Excelのイベントマクロ

    Private Sub Worksheet_Activate()に関する質問です。 ワークシート1と2があるとします。 ワークシート1は普通のデータが記されており、それのソートを実行するマクロをMacro1、そのデータから重複したものを外してソートするマクロをMacro2とし、Macro1から呼び出してます。 今、シート2を開いたときは必ず、シート1でMacro1を実行するようにしたいのですが、以下のように記述すると、無限ループになってしまいうまくいきません。 どなたか、方法をお教えください。 Sheet2に記載したイベントマクロ Private Sub Worksheet_Activate() Sheets("Sheet1").Select Macro1 Sheets("Sheet2").Select End Sub 標準モジュールに記載したマクロ Sub Macro1() Dim team As Integer ActiveSheet.Unprotect ("pass") Range("A3:c18").Select Selection.Sort Key1:=Range("c3"), Order1:=xlAscending, Key2:=Range("A3") ,Order2:=xlAscending, Header:=xlNo,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal team = Range("b1").Value ActiveSheet.PageSetup.PrintArea = "$A$3:$c$" + CStr(team + 2) Macro2 Range("A1").Select ActiveSheet.Protect ("pass") End Sub Sub Macro2() Range("i3:j18").ClearContents Range("i3").Select Selection.Consolidate Sources:="R3C6:R18C7", Function:=xlMax, TopRow:=False,LeftColumn:=True, CreateLinks:=False Range("i3:k18").Select Selection.Sort Key1:=Range("k3"), Order1:=xlAscending, Header:=xlNo,OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal Range("j3:j18").Select Selection.NumberFormatLocal = "0_);[赤](0)" End Sub

  • エクセルマクロで不特定なファイル名を使用するには

    初めて質問します。 不適切があれば申し訳ございません。 教えていただきたいです。 ファイル名が日々変わる場合、以下のマクロを使用した際に ファイル名が変ったとしてもマクロが実行できるようにするにはどうすれば良いでしょうか? ファイル名が変るのが"日別進捗_20140814.xlsx"の日付の所です。 初歩的で誠に申し訳ございません。 教えていただければ幸いです。 ----------------------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' ' Sheets("Sheet2").Select Windows("日別進捗_20140814.xlsx").Activate Cells.Select Selection.Copy Windows("Book1.xlsm").Activate Cells.Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Range("A1").Select Sheets("Sheet1").Select Range("D15").Select End Sub

  • エクセルの図形移動で困っています。

    エクセルの図形移動で困っています。 シート2にある図形をシート1にマクロを使って移動(コピー&貼り付け)をしようとしています。 マクロの記録でやった所、以下のような感じになりました。 Sub Macro4() ' ' Macro4 Macro ' ' Sheets("sheet2").Select Selection.Copy Sheets("sheet1").Select Range("N16").Select ActiveSheet.Paste End Sub しかし、なぜか3回程つかうとシート1に貼り付けされなくなります。 原因はシート2の図形をコピーする時に選択されるところがないからではないか?と思い 色々ネットで調べてみたのですが、まだまだ結論が出ていない状態です。 皆様のお力を貸して頂ければと思います。 Sub Macro4() ' ' Macro4 Macro ' ' Sheets("sheet2").Select (たぶんここに"図形1)とか入るのでは??と思っています Selection.Copy Sheets("sheet1").Select Range("N16").Select ActiveSheet.Paste End Sub

専門家に質問してみよう