質問です。


エクセル2007上でできているマクロをその都度マクロ記述をしないで
ボタンなどに登録して簡単に実行できる方法はありますか。複数のマクロです。
作成ファイルはその都度変わります。

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2011/04/20 19:11:47
  • 終了:2011/04/26 09:50:20

回答(2件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492011/04/20 20:17:49

ポイント35pt

自作マクロをアドインとして登録する方法があります

http://msdn.microsoft.com/ja-jp/library/cc668205.aspx

http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub06_030.html

 

上記の例を参考にマクロをアドインとして登録して使えるようにした後で、マクロ呼び出しボタンをツールバーへ登録すれば、お望みのものになります

id:inosisi4141

ありがとうございます。

参考にさせていただきます。

2011/04/26 09:49:01
id:nanntenn No.2

nanntenn回答回数15ベストアンサー獲得回数22011/04/21 23:02:53

ポイント35pt

右クリックメニューに追加はどうですか。

Office TANAKA - Excel VBA Tips[右クリックメニューに追加]

(1)全てのファイルで利用出来るように、作成済マクロを

  個人マクロブック(personal.xls)に保存しておく。

(2)右クリックメニューに追加する。

(3)どんなファイルであっても右クリックメニューからマクロを呼び出せる。


(参考)

personal.xlsに下記のような表を作成して下記のコードを実行。

→表の画像

Public Sub 右クリック追加()
Dim lastRow As Long, n As Long, Menu As String, Act As String

'右クリックメニューをリセット
CommandBars("cell").Reset

'○印の数をカウント
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
n = WorksheetFunction.CountIf(Range("B4:B" & lastRow), "○")

If n = 0 Then
    MsgBox "右クリックメニューを削除しました"
    Windows("personal.xls").Visible = False
    Exit Sub
End If

For i = lastRow To 5 Step -1
 
    If Range("B" & i).Value = "○" Then
        Menu = Range("B" & i).Offset(0, 1).Value
        Act = Range("C" & i).Offset(0, 1).Value
    
        With CommandBars("Cell").Controls.Add(before:=1)
            .Caption = Menu
            .OnAction = Act
        End With
    End If
Next i

MsgBox "右クリックメニューに追加しました。"
Windows("personal.xls").Visible = False
SendKeys "+{F10}", True

End Sub
id:inosisi4141

ありがとうございます。

参考にさせていただきます。

2011/04/26 09:49:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません