HOME 検索 索引 もくじ 関数目次 前ページへ 次ページへ
タイトル欄のアドレスは、 エクセルファンクラブ
の該当する頁へのリンク先です。
詳しい事は、こちらのお願い
をご覧になってください。
41 セルに書いたマクロ名を実行するには?
42 マクロで検索(Findメソッド)した時、該当がなかった場合のエラー処理をするには?
43 メニューバーのコマンドのIDを知りたい
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
41 | セルに書いたマクロ名を実行するには? http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200302/03020448.txt 「セルに書いたマクロ名を起動することはできませんか?」 【VBAラウンジ】 |
'(1)呼び出し元ブックに当該マクロが書いてある場合
Sub test2() On Error GoTo ErrorHandler Application.Run "呼び出し先ブック名!" & Range("A1").Value Exit Sub ErrorHandler: MsgBox "マクロ名が不正です", vbCritical End Sub '(2)呼び出し先ブックに書いてある場合 Sub test3() On Error GoTo ErrorHandler Application.Run Workbooks("呼び出し元ブック名").Worksheets("Sheet1").Range("A1").Value Exit Sub ErrorHandler: MsgBox "マクロ名が不正です", vbCritical End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
42 |
マクロで検索(Find)した時、該当がなかった場合のエラー処理をするには? http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200207/02070237.txt 「オブジェクト変数のエラーが解決できません」 |
「実行時エラー(91)オブジェクト変数またはwithブロック変数がせっていされていません」 と出て、エラートラップに飛べない場合があります。 Sub test2() Dim rng As Range Set rng = Columns("A").Find(What:="検索", LookAt:=xlWhole) If Not rng Is Nothing Then MsgBox "検索は、" & rng.Address(False, False) & " セルです。" Else MsgBox "該当なし" Exit Sub End If End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
43 | メニューバーのコマンド設定一覧 http://park7.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200302/03020361.txt 「メニューバーを展開するには?」 |
Sub
ツールバーリストアップ() Dim cb As CommandBar, cbc As CommandBarControl Dim r As Long: r = 2 For Each cb In Application.CommandBars Cells(r, 1) = cb.Name Cells(r, 2) = cb.NameLocal Cells(r, 3) = cb.Enabled Cells(r, 4) = cb.Visible For Each cbc In cb.Controls Call コントロール処理(cbc, r, 5) Next Next Cells(r, 2).Select End Sub Private Sub コントロール処理(ByVal cbc As CommandBarControl, r As Long, c As Long) Dim cbcSubControls As CommandBarControls r = r + 1 On Error GoTo ChangeNumberFormat Cells(r, c).Value = cbc.Caption On Error GoTo 0 Cells(r, c + 1) = cbc.ID Cells(r, c + 2) = cbc.Enabled Cells(r, c + 3) = cbc.Visible Cells(r, c + 4) = cbc.Type On Error Resume Next Set cbcSubControls = cbc.Controls On Error GoTo 0 If Not cbcSubControls Is Nothing Then For Each cbc In cbcSubControls Call コントロール処理(cbc, r, c + 5) Next End If Exit Sub ChangeNumberFormat: Cells(r, c).NumberFormatLocal = "@" Resume 0 End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |