deepla deepla

Development of useful applet application.

トップ > 開発メモ - Excel

Excel

開発タブを追加する

デフォルトでは、[開発]タブは非表示となっています。マクロやVBAを使用する場合は、[開発]タブを表示する必要があります。

表示する

手順

  1. Excelを起動し、上部の[ファイル]タブをクリックし、左側に表示される[オプション]メニューを選択します。
  2. [Excelオプション]が表示されるので、左側の[リボンのユーザー設定]を選択し、 右側の[メインタブ]ボックス内の[開発]チェックボックスにチェックを付けて[OK]ボタンをクリックします。

フリーVBAのカレンダーダイアログを使って、各セルで使用できるマクロを作成する

表示する

現在、いろいろなカレンダーが存在し、いろいろな制限(Excelのバージョン縛りや、32ビット、または64ビット縛りが殆ど)があるなか、 以下の条件を満たすカレンダーを使用し、実装します。(画面のカレンダーは、日本語表示に修正)
・Excel2007以降対応
・32ビット、64ビット両対応

使用するカレンダーVBA

ダウンロード先:

https://trevoreyre.com/portfolio/excel-datepicker/

実装

  1. ダウンロードした"CalendarForm+v1.5.2.zip"ファイルを任意のフォルダへ解凍します
  2. Excelを起動します
  3. [開発]タブの[Visual Basic]をクリックします
  4. [Microsoft Visual Basic for Applcation]フォームが表示されるので、[ファイル(F)]→[ファイルのインポート(I)...]メニューを選択します
  5. 先ほど解凍した中の[CalendarForm.frm]を選択し、[開く]ボタンをクリックします
  6. 左側の[プロジェクト]から使用するシート(例:Sheet1)を右クリックし、ポップアップメニューから[コードの表示(O)]を選択します
  7. SheetコードMDIフォームが表示されるので、左上のプルダウンメニューから[Worksheet]を選択します(右上の[SelectionChahge]はそのままにします)
  8. 表示されたWorksheet_SelectionChange関数を以下のように変更します
    Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
      If Intersect(Target, Range("A:A,C:C")) Is Nothing Then
        Buttons(1).Visible = False
      Else
        Buttons(1).Top = Selection.Top
        Buttons(1).Left = Selection.Left + Selection.Width + 2
        Buttons(1).Width = 14
        Buttons(1).Height = 14
        Buttons(1).Caption = "田"
        Buttons(1).Visible = True
      End If
    End Sub
    
    Range("A:A,C:C")はカレンダー選択可能なセル列を示し、必要に応じて、この部分を変更します。
  9. Excelに戻り、[開発]タブの[挿入▼][フォームコントロール]内の[ボタン]をクリックし、シートの任意の位置に配置します
  10. [マクロ登録]ダイアログが表示されるので、マクロ名をCalendarBtn_Clickに変更して[新規作成(N)]ボタンをクリックします
  11. [Microsoft Visual Basic for Applcation]フォームに[Moduleコード]MDIフォームが表示されるので、内容を以下のように変更します
    Dim dt As Double
    
    Sub CalendarBtn_Click()
      dt = CalendarForm.GetDate
      If dt <> 0 Then Selection.Value = dt
    End Sub
    
  12. [Microsoft Visual Basic for Applcation]フォームを閉じます
  13. A列のいずれかのセルに移動すると、[田]ボタンが表示されるので、右クリックして、[コントロールの初期設定(F)...]を選択します
  14. [コントロールの初期設定]ダイアログが表示されるので、[保護タブ]の[ロック]と[文字列のロック]のチェックマークを外し、[OK]ボタンをクリックします
    この作業を忘れると、シートを保護したときに、正常に動作しません。
  15. ファイルを保存します
    ファイルの種類をExcelマクロ有効ブック(.xlsm)に変更して保存してください。

広告リンク

ページのトップへ戻る
inserted by FC2 system