Excelでマクロを作成し、ユーザー設定ボタン(黄色のスマイルマーク)をカスタマイズしています。
例えば、《削除・右方向へシフト》のような簡単な操作をいくつか登録していましたが、パソコンにトラブルが起こり、再インストールしたらマクロを登録しているファイルは大丈夫でしたが、せっかく作ったボタンがすべて消えてしまいました。
オリジナルのボタンはどこか特定のファイルで保存されていると思うのですが、、、
それがわかれば、再インストールの時バックアップすることができます。どなたか知っていれば教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは



 拡張子がxlbのファイルが、ツールバーの設定ファイルです。
 Excelを終了すると、メニューバーや組み込みツールバーに加えた変更、ユーザー設定のツールバー、及び終了する直前に表示されていたツールバーが、xlbファイルに保存されます。

 以下の手順でxlbファイルを検索することができます。

1.Win+F(ウィンドウズキーを押しながらFを押す)
(または、[スタート]ボタン-[検索]-[ファイルやフォルダ])
2.[名前と場所]タブの[名前]に「*.xlb」と入力
3.探す場所をCドライブにして、[検索開始]ボタンをクリック
4.ファイル「Excel.xlb」が見つかるのでこれを開く

 Excel2000の場合には、「Excel.xlb」というファイル名ですが、バージョンによっては、ファイル名が違うようです。

Excel97:[ログイン名]8.xlb または Excel8.xlb
Excel95:[ログイン名].xlb または Excel5.xlb または、ログイン時にユーザー名が使われていない場合、[ツール]-[オプション]の [ユーザー名].xlb
Excel5:Excel5.xlb
OSがNTの場合:Administrator.xlb
Excel 97 + Windows 95でユーザー名に全角文字が使われている場合:拡張子なしのユーザー名というファイル名
Excel98:[システム フォルダ:初期設定] フォルダで ExcelToolbars (8) ファイルを検索

 参考URLもご覧になってみてください。

参考URL:http://www2.odn.ne.jp/excel/waza/toolbar.html
    • good
    • 0

それぞれのブックに登録ではなく、開いた全てのブックに適用する場合の


「マクロを登録しているファイル」は、通常は、以下のところにありますよね?
C:\WINDOWS\Application Data\Microsoft\Excel\XLSTART\Personal.xls

ボタンはそのフォルダのすぐ上、以下のファイルに保存されているようです。
C:\WINDOWS\Application Data\Microsoft\Excel\Excel.xlb

なお、上記はWindows 98の場合です。2000とかMeとかは今手元にないので確認できません。
また98でも複数ユーザーで設定を別けていると違う所に保存されるかもしれません。
最後は、検索で「Excel.xlb」を捜してみてください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qマクロを登録したボタンの表示を変更するマクロ

かなり難易度が高いと思いますが、Excelのマクロでこんなことできませんか?
Excelのボタン(表示名:ファイル取り込み)にあるマクロを登録し、このマクロを実行するとファイル選択ウインドウが開き、ここでフルパス指定(仮にc:\aaa\bbb.xls)であるファイルを選択する。
すると、ボタンの表示が”参照ファイル”に変わり、参照ファイルをクリックするとc:\aaa\bbb.xlsが別Windowオープンになる。

Aベストアンサー

VBEにて、該当するシートの、シートモジュールに、
つぎのコードを貼り付けてください。
いちおう、ボタン名の初期値は「ファイル取り込み」と表示されていることを想定しています。


Option Explicit

Private Sub CommandButton1_Click()

Select Case CommandButton1.Caption
 Case Is = "参照ファイル"
  CommandButton1.Caption = "ファイル取り込み"
 Case Else
  CommandButton1.Caption = "参照ファイル"
End Select

End Sub

QVBA シートをコピー後、ボタンにマクロ登録

お世話になっております。
Excel2003を使用しております。
分かる人にはすぐ分かる問題かもしれませんが、
良くわからないため教えて下さい。

シートを別ブックにコピーします。(ここまでは出来ています。)
元々あったボタンを選択し、
マクロを登録しなおそうとするも、上手く行かず…

Dim StaticBook as Workbook と宣言し、
コピー先のブックを選別?できるようにしています。

そのため、シートをコピーした後に
With StaticBook.ActiveSheet
  .Shapes("Button 1").Select     
Selection.OnAction = StaticBOOK.Name & "!Sheet2.保存_Click"
.Shapes("Button 2").Select
Selection.OnAction = StaticBOOK.Name & "!Sheet2.再編集_Click"
.Range("A1").Select
End With
としてみたのですが、エラーが表示されます。

ButtonクラスのOnActionプロパティを設定できません。と表示されます。

元々、コピーすれば上手く動くとおもっていたのですが、
ボタンをクリックしたときの参照先が
コピー元のブックのままになっておりこれの改善方法がしりたいのです。

調べてみてもあまり良く分からず…
回答お願い致します!

お世話になっております。
Excel2003を使用しております。
分かる人にはすぐ分かる問題かもしれませんが、
良くわからないため教えて下さい。

シートを別ブックにコピーします。(ここまでは出来ています。)
元々あったボタンを選択し、
マクロを登録しなおそうとするも、上手く行かず…

Dim StaticBook as Workbook と宣言し、
コピー先のブックを選別?できるようにしています。

そのため、シートをコピーした後に
With StaticBook.ActiveSheet
  .Shapes("Button 1").Select     
...続きを読む

Aベストアンサー

こんにちは。

そのようなコードは書いたことがありませんし、きちんと考えたことがありませんでしたが、
コードをよく観ると

>StaticBOOK.Name & "!Sheet2.保存_Click"
このSheet2 は、オブジェクト名ですから、ただしく、Sheet2であればよいのですが、そうでない可能性が高いです。もちろん、シートに一意のオブジェクト名をつければよいはずですが、コピーをされるシートですから、名前付け管理していくのは面倒だと思います。それより、システム側のオブジェクト名を取るほうが早いと思います。例えば、このようなスタイルになるのではないでしょうか。
以下の .CodeName というのが、シートのオブジェクト名になります。


'//
Sub Test1()
  Workbooks("Origine.xls").Activate '元のシートをアクティブにする
  ActiveWorkbook.Worksheets("Sheet2").Copy Before:=Workbooks("Destin.xls").Sheets(1)
  
  With ActiveSheet
   .Shapes("Button 1").OnAction = .Parent.Name & "!" & .CodeName & ".保存_Click"
  End With
End Sub
'//

こんにちは。

そのようなコードは書いたことがありませんし、きちんと考えたことがありませんでしたが、
コードをよく観ると

>StaticBOOK.Name & "!Sheet2.保存_Click"
このSheet2 は、オブジェクト名ですから、ただしく、Sheet2であればよいのですが、そうでない可能性が高いです。もちろん、シートに一意のオブジェクト名をつければよいはずですが、コピーをされるシートですから、名前付け管理していくのは面倒だと思います。それより、システム側のオブジェクト名を取るほうが早いと思います。例えば、この...続きを読む

Qマクロボタンの登録方法を教えて下さい。

Excel2000で
自由にマクロボタンを作成して、ツールバーに登録したのですが、
どうもマクロを作成した時のファイルにプログラムが
保存されているみたいで、ボタンを押す度に、
作成時のファイルが開いてしまいます。
他のツールバーのボタン同様に、
どのファイルでも自由に使えるように、
登録したいのですが、どうすればよろしいでしょうか?

Aベストアンサー

こんばんは。

# 3935163 で回答を書いたように、個人用マクロブックにマクロを入れて、それを改めて登録するようにしてください。

マクロを作成した時のファイルのプログラムを、コピー&ペーストで、個人用マクロブックの「標準モジュール」におけばよいです。

QExcel)マクロ登録したソースをボタンへ移行すると1004エラー

Excelマクロの登録して作ったマクロをボタンを作成し移行しました。
実行すると、「エラー1004 Rangeクラスのselectメソッドが失敗しました。」と
エラーがでました。

やりたいことは、シートAにあるボタンをクリックすると、シートBの値を
初期化したいのです。

コードは以下の通りです。
Sheets("B").Select
Range("I65:K87").Select
Selection.ClearContents

どうすればよいでしょうか?

Aベストアンサー

多分
Microsoft Excel Object

Sheet1にコードを貼り付けているんだと思うけど

Sheets("B").Select
Range("I65:K87").Select 'ここのRangeはSheets("A")のRangeだが,先にSheet("B")を選択してしまったので選択できない
Selection.ClearContents

そのため

Sheets("B").Select
ActiveSheet.Range("A1:A2").Select
Selection.ClearContents

等とするか

標準モジュールで
該当の記述をしたサブルーチンを作り,
ボタンのイベントハンドラから
そのサブルーチンを呼び出す形にしないといけないんだと思う

Qエクセルでマクロボタンを押す前に、実行するかどうか再確認させたいのですが・・・。

いつもこちらで大変お世話になっています。

エクセルでマクロを組み、ボタンを作成しました。
ボタンをクリックすると、組んだマクロが開始されるのですが
その前に一度、「実行しますか?はい(実行)・いいえ(キャンセル)」といったような確認をさせたいのです。
このようなことは可能でしょうか?
可能ならば方法を教えてください。

どうぞよろしくお願いします。

Aベストアンサー

こんにちは。

>エクセルでマクロを組み、ボタンを作成しました。
元のコードがどうなっているのか分りませんので、実際は、どうしてよいのか具体的には、こちらでは分りません。

いくぶん、重複してしまいますが、それ以前のステップから書かないといけないようですが、よく読んで、試してみたください。

最初に、私の#2で書いたコードをそのまま貼り付けても、エラーが出ます。

それは、コマンドボタン(CommandButton)には、二種類あるからです。

1つは、コントロールツールのボタンと、もう1つは、フォームのボタンです。
それは、どちらなのかおわかりなりますか?

中身自体は、

'---------------------------------
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
'---------------------------------

このようにはなるのですが、外側が違ってきます。

コントロールツールの場合は、コントロールツールから、右クリックして、コードの表示とすると、

Private Sub CommandButton1_Click()

End Sub

と中身の空のプロシージャが出てきますから、そこに中身の点線で囲まれた上記のコードを入れてあげます。

フォームのツールの場合は、

例えば、

Sub ボタン1_Click()
If MsgBox("実行しますか?", vbQuestion + vbOKCancel) = vbCancel Then
  MsgBox "終了します。"
  Exit Sub
End If
  '実行継続
End Sub

のようにして、右クリック-マクロの登録で、この名前「ボタン1_Click」を探して、登録します。

次に、「実行継続」の部分に、どんなものを入れるか、これは教えてもらってはいませんので、ご自分で入れられるなら、それを入れてください。もし、出来ないようなら、ここで公開してください。

こんにちは。

>エクセルでマクロを組み、ボタンを作成しました。
元のコードがどうなっているのか分りませんので、実際は、どうしてよいのか具体的には、こちらでは分りません。

いくぶん、重複してしまいますが、それ以前のステップから書かないといけないようですが、よく読んで、試してみたください。

最初に、私の#2で書いたコードをそのまま貼り付けても、エラーが出ます。

それは、コマンドボタン(CommandButton)には、二種類あるからです。

1つは、コントロールツールのボタンと、もう1...続きを読む


人気Q&Aランキング

おすすめ情報