- ベストアンサー
セル色を自由に設定し、それを新しいデフォルトとして使うには?
エクセルのセル色を自由に設定するにはツール→オプション→色で変更出来ますが、次に開いた時には元に戻ってしまいます。 変更したカラーパレットを新しいデフォルト色としてずっと使うにはどのように設定すれば良いでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1 さんに付けたします。 その3(途中まで、#1さんのその1と同じです) カラーパレットを変更したブックを、ファイル-名前を付けて保存で、テンプレート(.xlt) を選び、名前を、Book にします。 そのままで保存すると、おそらく、Templates フォルダに入ります。 <ドライブ>:\Documents and Settings\<ログイン ユーザ名>\Application Data\Microsoft\Templates\ エクスプローラーで、そのお使いのExcelのスタートアップ・フォルダに、そのテンプレートを移してください。保存の際に、最初から、そのフォルダを指定しても構いません。 (XPの場合) <ドライブ>:\Documents and Settings\<ログイン ユーザ名>\Application Data\Microsoft\Excel\Xlstart\ なるべく、上記の個人設定側のスタートアップ・フォルダがよいと思います。共通設定側のスタートアップフォルダでも、ご自身しか使わない場合は、そこでもよいです。 テンプレートファイルに限ります。他は、場合によっては、Personal.xls が入っているはずですが、それ以上は入れないでください。 そうすれば、今まで通りに使えます。 なお、マクロで登録する方法ですが、Personal.xls (個人用マクロブック)に、新規ブック用のクラス(Class)を設定をします。その3とまったく同じようになりますが、色インデックス(ColorIndex)を、ご自身でRGBの色の決定をしていただくことになるかと思います。
その他の回答 (3)
- masa_019
- ベストアンサー率61% (121/197)
こんばんは。では、マクロで行う方法を説明しますね。 まず、お好みのカラーパレットを持ったブックを用意します。 このブックを開いたまま Alt+F11 を押して、VBEを表示します。 クラスモジュールを挿入し、そこに、以下のコードを貼りつけます。 Option Explicit Public WithEvents ap As Excel.Application Private Sub ap_NewWorkbook(ByVal Wb As Excel.Workbook) Wb.Colors = ThisWorkbook.Colors End Sub 次にThisWorkbookモジュールを開いて以下のコードを貼りつけ。 Option Explicit Dim cls As New Class1 Private Sub Workbook_Open() Set cls.ap = Application End Sub Alt+Qでエクセルに戻って、このブックをアドイン形式で保存します。(例: カラーパレット.xla) エクセルのメニューからツール-アドインをクリック。 アドインのダイアログから今、保存したカラーパレットをさがして、チェックを入れる。 なければ、参照ボタンを押して、探して下さい。 OKボタンを押してダイアログを閉じます。 開いているブックは無くてもかまいませんが、今後のために保存して閉じておきます。 この後、新規にブックを作成すると、新しいカラーパレットが、反映されているはずです。 うまく反映されないときはエクセルを再起動してみて下さい。 なお、既存のブックには新しいカラーパレットは反映されません。 以上です。
お礼
二度のご回答有難うございました。次はマクロに関する質問が出来るようになりたいです。
補足
masa_019さん、こんばんは。 素早い追加ご回答本当に有難うございました。 未だ勉強に取り掛かっていないのでこの記述をどう使うのかもわかりません。でも、保存して置いて理解出来た時に使わせて頂きます。
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルのカラーパレットは56種で、配列のインデックスで指定できる。VBAでの表現を見ると、オブジェクトが、ActiveWorkbook,Workbookとなっており、今開いているブックにしか設定できないのでしょう。もしApplication.Colors(1)=RGB(R,G,B)のように指定できるなら、最終に設定したカラーパレットでブックが開かれると思いますが、そうなっていない。 (ツールーオプションの設定はエクセル単位なのか・ブック単位・シート単位の設定になるかが私にはすっきりしません。不勉強のぼやき。) またWorkbooks("ブック名.xls").Colors(1)=RGB(R,G,B)のように使えればよいのですが無理のように思います。できるかも知れないが、例が出ているのが、ほとんどがActiveWorkbookの例です。 --- ですから1つよく使うカラーパレットのブック(テンプレートでなくても)を作っておいて、そこから(通常では新規や既存のブックを開いたはじめ時期に)VBAでコピーはできるようですので、それを使うことになります。 ActiveWorkbook.Colors = Workbooks("元パレット.xls").Colors http://www2.moug.net/cgi-bin/technic.cgi?exvba+TI11010014など カラーパレットはその場限り(画家が毎回パレットを水で洗い流すイメージ)に設計者は考えたのかもしれません。(推測) 引き継がないほうが(毎回標準に戻るほうが)よい場合も多いかもしれない。
お礼
いもがしさん、有難うございました。又機会があればお知恵をお貸し下さい。
補足
いもがしさん、有難うございます。先回は有難うございました。先回の質問がきっかけになりましてVBを購入しました。 >カラーパレットはその場限り(画家が毎回パレットを水で洗い流すイメージ)に設計者は考えたのかもしれません。(推測) 理解、納得! >引き継がないほうが(毎回標準に戻るほうが)よい場合も多いかもしれない。 使いたいデフォルトカラーが3色しかありません。後はため息をつきながら使っています。そんな事から今回の質問を起こしました。
- masa_019
- ベストアンサー率61% (121/197)
あまり良い方法は思いつかないのですが、 その1 お好みに変更したカラーパレットを持つブックを テンプレートにして(拡張子 .xlt で)保存して、 次回からこのテンプレートを使う。 その2 マクロになりますが,新規ブックのカラーパレットを 変更するアドインを作って登録する。 これなら意識しなくも変更されたカラーパレットが デフォルトのように使えます。 エクセルの設定で簡単に、と言うわけにはいかないようです。 (私が知らないだけかも知れませんが・・・。) その1のやり方がお勧めです。もし、やってみたければ その2の方法もご説明します。
補足
masa_019さん、こんにちは、有難うございます。 <その1>はウェンディさんの助けもお借りして成功しました。 でも、マクロにも興味があります。これからVBを勉強するところですから宜しかったらお教え下さい。
お礼
新デフォルト色で気持ちよく使っております。有難うございました。次回もお気づきになればよろしくお願いします。
補足
ウェンディさん、先回は有難うございました。自作ソフトもどきにしっかり使っております。エクセルの奥の深さのとりこです。 今回もうまく行きました。 >色インデックス(ColorIndex)を、ご自身でRGBの色の決定をしていただくことになるかと思います 今回それで色の決定をしました。