r1c1で始まるマクロ名はクイックアクセスツールバーから走らない。
vbeから動かすと動く
コマンドボタンからは動く
マクロ名をr1c1から始まらない名前にしたら動いた
状況
excelの表示形式 a1とr1c1の切り替えを簡単にしようとして、
pesonal.xlsにr1c1chgというvbaを記述し
クイックアクセスツールバーで登録して呼び出したらエラーで走らなかった
リボンのマクロから見てみるとr1c1で始まるマクロ名を選択すると「実行」ボタンが淡色になっている
excelのr1c1とアルファベット形式をワンタッチで変えるvba
サンプルコード
Sub chgr1c1()
If Application.ReferenceStyle = xlA1 Then
Application.ReferenceStyle = xlR1C1
Else
Application.ReferenceStyle = xlA1
End If
End Sub
xlstartにpesonal.xlsを作って呼び出すようにしたけど、excelを開くたびに、pesonal.xlsが開いて気持よくない。。
ただ、r1c1とa1を切り替えることは、結構あるのでこれで使い勝手が良くなった
win7だとC:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Excel\XLSTART
にPERSONAL.XLSBを作り、vbeからこのマクロを追加すると、余計なブックが開かなくていいい。
PERSONAL.XLSBを作りといったが、作っただけで動くかどうか確証がない。
はじめ、personal.xlsbというファイル名でこのコードを入れたものを作ったが、エクセルを開くとき、
「PERSONAL.XLSB を開くことができません。ファイル形式または拡張子が正しくありません。」というメッセージが毎回表示される」というメッセージが表示されるようになってしまった。
okを押して、ファイルーオプションーアドイン-設定でpersonalを追加すれば、エクセル起動時、このコードをクイックアクセスバーに登録して使うことはできた。
できたが、毎回警告が出るので邪魔臭い。
出ないようにするには、マクロ記録から、保存先、個人用マクロブックを選んで保存。
XLSTARTフォルダにPERSONAL.XLSBが作られるので、そこのvbeに上のコードを追加して保存。
という手順で、上記コードを、余計なブックを開かずに実行できるようになった。
リボンから開発タブ-マクロを押したとき出てくるマクロの保存先には、個人用マクロブックは現れない。マクロ記録を押すと、保存先に個人用マクロブックが現れます。
はじめから、 大文字でPERSONAL.XLSBを作ったらいけたのかもしれない。。