

Sub ボタン表示()
Call ボタン削除
ActiveSheet.Buttons.Add(162.75, 27, 96, 23.25).Select
Selection.OnAction = "Macro_test"
Selection.Characters.Text = "マクロ実行"
Range("A1").Select
End Sub
----------------------------------------------------------------
Sub ボタン削除()
For Each zu In ActiveSheet.Shapes
If InStr(1, zu.Name, "AutoShape", 1) = 0 Then
zu.Delete
End If
Next
End Sub
|

Sub ショートカットキー1()
Application.MacroOptions Macro:="Macro_test", _
Description:="", ShortcutKey:="q"
MsgBox "「Ctrl」+「q」でマクロ「Macro_test」実行を設定しました。"
End Sub
---------------------------------------------------------------
Sub ショートカットキー2()
Application.OnKey "^{e}", "Macro_test"
MsgBox "「Ctrl」+「e」でマクロ「Macro_test」実行を設定しました。"
End Sub
|
| 【補足】大文字で入力した場合は[Ctrl]+[Shift]+[E]となります。 |

| 【キー操作】 | 【操作内容】 |
| Ctrl+Shift+9 | 非表示にしている行を再表示します。 |
| Ctrl+Shift+0 | 非表示にしている列を再表示します。 |
| Ctrl+Shift+Home | 選択範囲をワークシートの先頭のセルまで拡張 |
| Ctrl+Shift+End | 選択範囲をデータが入力されている範囲の右下端のセルまで拡張 |
| Ctrl+Shift+↑↓←→ |
選択しているセルと同じ行や列にある データが入力されているセルまで選択範囲を拡張 |
| Ctrl+Shift++ | 空白のセルを挿入します。 |
| Ctrl+Shift+* |
アクティブ セル領域の選択 (選択しているセルを含み、空白の行と列で囲まれているデータ領域) |
| Ctrl+Shift+[ | 選択範囲で数式によって、直接的または間接的に参照されているセルをすべて選択 |
| Ctrl+Shift+^ | [標準] 表示形式を設定します。 |
| Ctrl+Shift+$ | [通貨] 表示形式 (\-1,234) を設定します。 |
| Ctrl+Shift+% | [パーセンテージ] 表示形式 (小数点以下の桁数 0) を設定します。 |
| Ctrl+Shift+# | [日付] 表示形式 (yyyy/m/d) を設定します。 |
| Ctrl+Shift+! | 桁区切りの表示形式を設定します。 |
| Ctrl+Shift+& | 外枠の罫線を設定します。 |
| Ctrl+Shift+_ | すべての罫線の削除の実行 |
Sub キー設定1()
Application.MacroOptions Macro:="Macro_test", ShortcutKey:="q"
MsgBox "「Ctrl」+「q」でマクロ「Macro_test」実行を設定しました。"
End Sub
-----------------------------------------------------------------
Sub キー設定2()
Application.OnKey "^{q}", "Macro_test"
MsgBox "「Ctrl」+「q」でマクロ「Macro_test」実行を設定しました。"
End Sub
|
Sub ファンクションキー()
Application.OnKey "{F10}", "Macro_test"
MsgBox "「F10」キーでマクロ「Macro_test」実行を設定しました。"
End Sub
|
| Ctrl | Alt | Shift | 説明 | |
| F1 |
[Excel ヘルプ] 作業ウィンドウを表示 | |||
| Ctrl | リボンの表示と非表示を切り替 | |||
| Alt | 現在の範囲からグラフを作成 | |||
| Alt | Shift | ワークシートを挿入 | ||
| F2 |
アクティブなセルの内容の最後にカーソルを配置 | |||
| Shift | セルのコメントを追加または編集 | |||
| Ctrl | 印刷プレビュー ウィンドウを表示 | |||
| F3 |
[名前の貼り付け] ダイアログ ボックスを表示 | |||
| Shift | [関数の挿入] ダイアログ ボックスを表示 | |||
| F4 |
直前のコマンドまたは操作を繰り返します | |||
| Shift | 選択したブック ウィンドウを閉じます | |||
| F5 |
[ジャンプ] ダイアログ ボックスを表示 | |||
| Ctrl | 選択したブック ウィンドウを元のサイズに戻します。 | |||
| F6 |
分割されているワークシートの次のウィンドウ枠に移動する | |||
| Shift | 分割されているワークシートの前のウィンドウ枠に移動する | |||
| Ctrl | 複数のブックのウィンドウが開いているときに次のブックウィンドウに移動する | |||
| F7 |
[スペルチェック] ダイアログ ボックスを表示 | |||
| Ctrl | ブックのウィンドウが最大化されていない場合「移動」コマンドを実行する | |||
| F8 |
拡張選択モードを切り替えます | |||
| Shift | 選択範囲を追加する | |||
| Ctrl | ブックのウィンドウが最大化されていない場合「サイズ変更」コマンドを実行する | |||
| F9 |
開いているブックのすべてのワークシートを計算する | |||
| Shift | 作業中のワークシートを計算します | |||
| Ctrl | Alt | 開いているブックのすべてのワークシートを計算します | ||
| Ctrl | Alt | Shift | 要計算としてマークされていないセルも含め、開いているブックのすべてのセルを計算します | |
| Ctrl | ブック ウィンドウを最小化します。 | |||
| F10 |
キー ヒントをオンまたはオフにします | |||
| Shift | ショートカットメニューを表示する | |||
| Alt | Shift | スマート タグのメニューまたはメッセージを表示 | ||
| Ctrl | 選択したブック ウィンドウを最大化 | |||
| F11 |
現在の範囲からグラフを作成します | |||
| Shift | ワークシートを挿入します | |||
| Alt | Microsoft Visual Basic Editor を起動します | |||
| F12 | [名前を付けて保存] ダイアログ ボックスを表示 |

Sub Macro_test()
Range("A1").Value = "ABCDE"
Range("B3").Value = "12345"
Range("A3").Value = "abcd"
End Sub
-------------------------------------------------------
Sub AUTO_OPEN()
Range("A1").Value = "ABCDE"
Range("B3").Value = "12345"
Range("A3").Value = "abcd"
End Sub
|
| 「ThisWorkbook」コードウインドウ |
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Cancel = True
MsgBox "ブックを閉じます(閉じるイベント確認)"
End Sub
|
| 普通の標準モジュール |
Sub AUTO_CLOSE() |
Sub イベントOFF()
Application.EnableEvents = False
End Sub
※上記BeforeCloseイベントは、これで無効にできます。なお、Excel95文の方は無効になりません
---------------------------------------------------------------
Sub イベントON()
Application.EnableEvents = True
End Sub
|
Sub ファイルを開く1()
Dim fff As String
fff = Application.GetOpenFilename(Title:="開くファイルを指定")
If fff = "False" Then
MsgBox "ファイルを1個指定して下さい"
Exit Sub
End If
イベントマクロを無効にする
Application.EnableEvents = False
Workbooks.Open Filename:=fff, Editable:=True
End Sub
------------------------------------------------------------
Sub イベント解除()
Application.EnableEvents = True
MsgBox "イベントを有効にしました"
End Sub
|

| 「Sheet1」コードウインドウ |
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim celr As Integer
Dim celc As Integer
Dim code As Integer
celr = ActiveCell.Row
celc = ActiveCell.Column
If celc <> 1 Then
Exit Sub
End If
code = Cells(celr, 1)
If IsNumeric(code) = False Then
MsgBox "数字が対象です"
Exit Sub
End If
Call イベント例(code)
End Sub
|
Dim dai As StringSub イベント例(bango)
On Error Resume Next
dai = ""
Call 表題3(bango)
Cells(1, 1).Value = "Dialogs(" & bango & ")【" & dai & _
】を表示中です。
Application.Dialogs(bango).Show
If Err = 1004 Then
Cells(1, 1) = ""
MsgBox "「" & bango & "」は表示できません"
On Error GoTo 0
Exit Sub
End If
End Sub
-----------------------------------------------------------
Sub 表題3(ban)
Dim i As Integer
For j = 3 To 76
If Cells(j, 1) = ban Then
dai = Cells(j, 2)
Exit For
End If
Next
End Sub
|
| 「Sheet1」コードウインドウ |
Private Sub Worksheet_Activate()
MsgBox "Sheet1がアクティブになった"
End Sub
----------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Excel.Range, Cancel As Boolean)
MsgBox "シ−ト上でダブルクリックされました"
End Sub
----------------------------------------------------
Private Sub Worksheet_BeforeRightClick _
(ByVal Target As Excel.Range, Cancel As Boolean)
MsgBox "シ−ト上で右クリックされました"
End Sub
---------------------------------------------------
Private Sub Worksheet_Calculate()
MsgBox "このシ−トのデ−タを再計算した"
End Sub
----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
rr = Target.Row
cc = Target.Column
MsgBox rr & "行" & cc & "列セルが変わりました"
End Sub
----------------------------------------------------
Private Sub Worksheet_Deactivate()
MsgBox "Sheet1ががアクティブでなくなった"
End Sub
----------------------------------------------------
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox "ハイパーリンクがクリックされた"
End Sub
----------------------------------------------------
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
MsgBox "ピポットが更新されました"
End Sub
----------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = Cells(2, 2).Address Then
MsgBox Target.Address & "のセルが選ばれた"
End If
End Sub
これはセル"B2"が選ばれると実行します。 |