私はExcelの以前のバージョン(2003だったと思います)で作成されたスプレッドシートで作業していますが、広範囲にわたる整理のために色分けを使用しています。残念ながら、これは古いバージョンの配色を使用して構築されており、基本的にどの色も 2010 テーマのものと一致できません (純粋な白と純粋な黒を除く)。そのため、何かを以前の既存の配色に合わせたい場合は、カスタム色を選択して手動で選択するか、既存のセルから書式をコピーして対象のセルに貼り付ける必要があります (境界線などもコピーされるため面倒です)。
ページ レイアウト/テーマ/色の設定を見つけましたが、そこでできることは、選択可能な色をプリセットの 1 つに変更するか、完全に新しいパレットを作成することだけであるようです。また、そのパレットでは、フル セットではなく、いくつかの色しか選択できません。残りの色は、選択した色の明るいバージョンまたは暗いバージョンを作成することによって作成されます。さらに、これらのいずれかを行うと、以前のスキームで使用されていた色と完全に一致する場合に限り、スプレッドシートで既に使用されている色が変更されます。つまり、以前は関係を示すために同様のトーンで色付けされていたものが、異なる色になり、一部は古いスキームに残り、その他は自動的に新しいスキームに変更されることになります。基本的に、システム全体が壊れています。
私が望んでいるのは、古いドキュメントから特定の色を追加して、カラー チューザーに表示し、探す必要がないようにすることです。Excel の以前のバージョンにはこの機能がありました。カスタマイズ可能な四角形がたくさんあり、好きな色にすることができ、テーマと一緒に保存されていました。四角形をさらに追加することもできたと思いますが、忘れてしまいました。(古いバージョンはもうインストールしていません。) テーマを優先してこの機能は削除されましたか? それともどこかに隠されていますか? この配色機能にはまったく興味がありません。任意のプリセット パレットに一致するかどうかを気にせずに、使いたい色 (特にこのドキュメントに一致する色) を使用したいだけです。ここで一貫性のレベルを維持できるように、新しい配色設定を使用してこのシート全体を再着色する必要は本当にありません。
答え1
うーん、残念ながら運が悪かったようですね。
Excel 2003 には、ワークシートで使用するための 40 色のカスタマイズ可能なカラー パレットと、グラフで使用するための 16 色の追加カラーがありました。デフォルトのパレット設定は、ファイルを使用してカスタマイズおよび変更することができ、グラフの色をワークシートのセルで使用したり、その逆を行ったりすることができます。
Office 2007 以降、この原則は「テーマ」カラーに置き換えられました。テーマ カラーは、2 つのテキスト カラーと 6 つのアクセント カラーで構成され、さまざまな強度を選択できます。テーマはすべての Office アプリケーションで一貫しています。テーマ間の切り替えは簡単で、テーマ カラーで書式設定された項目は、テーマを切り替えると変更されます。
6 つのアクセント カラーを超えない限り、お気に入りの色を選択して新しいテーマを作成することも簡単です。
テーマ カラーから離れて、127 色の標準カラーと複数のグレー シェードのパレットからカスタム カラーを選択したり、RGB または HSL 値でカスタム カラーを定義したりすることも可能です。残念ながら、このようなカスタム選択を標準パレットに追加する簡単な方法はありません。
とは非常にただし、難しいのは、2 つのテキスト カラーと 6 つのアクセント カラー以上、つまり Excel バージョン 2007 より前に提供されていた 56 色に似た色を使用してカスタム カラー パレットを定義することです。
Excel にも Word と同じようにスタイルがあることをご存知ですか? Excel のスタイルには、フォント、フォント サイズ、数値の書式設定、テキストの色、塗りつぶしの色などが含まれます。Excel のスタイル機能を利用して、セルに必要な色やその他の書式設定を正確に設定したさまざまなスタイルを作成できます。
別の方法 (簡単ではなく、少し手間がかかりますが) としては、新しいシートを作成し、8 列 x 7 行のグリッドを 2 つ使用して、各セルの色を元の Excel 2003 ファイルと同じ RGB 値に手動で設定します。グリッドの 1 つを塗りつぶし色に使用し、グリッドの 1 つをテキスト色に使用します。次に、目的の色のセルを選択してコピーし、その書式をターゲット セルに貼り付けます。
または、各セルの書式設定をコピーして、新しいシートのスタイル ガイド テーブルのようなものに貼り付け、書式のみをコピーして貼り付けるために使用します。
しかし、最終的には、テーマの原則に考え方をシフトする必要があります。Office 2007 以降、ユーザー インターフェイスから 56 色の個別色がなくなりました。代わりに、6 つのアクセント カラーの色合いを使用したトーン オン トーンの配色が流行しています。
このような方向で新しいスプレッドシートの設計を開始すると、長期的には作業が楽になります。
答え2
これを使用(または適応)してみるといいでしょうJohn Walkenbach が公開したスプレッドシートこのテクニックを使用すると、リボンにボタンが作成され、Excel 2003 の色のパレットが提供されます。
- サンプルワークブックをダウンロードするカラーピッカー.xls
というラベルの付いたボタンを試してみてください選択したセルの背景色を変更するにはここをクリックしてください
- ファイルをどこかに保存します。
- リボンの任意の場所を右クリックして選択リボンをカスタマイズする。
からコマンドを選択ドロップダウンを選択して
Macros
から、...GetAColor2
下を選択します (スクリーンショットでは黄色で強調表示されています)。右側のパネルで、家次に選択新しい集団. を右クリックして新しいグループ (カスタム)表示されるオプションを選択し、名前を変更し
2003 Colours
て塗りつぶしアイコンを選択します。最後に追加 >>中央のボタンをクリックします。新しいオプションの名前を変更し
2003 Colours
、塗りつぶしアイコンをもう一度選択します。これでリボンに表示されるようになります。ボタンをクリックしたときに外部ファイルが開かないように、このファイルから VBA を個人用ワークブックに移動するか、リボン ボタンの代わりにキーボード ショートカットを使用することをお勧めします。ただし、すぐに起動して実行する方法としては、これが適しています。
答え3
この解決策は Excel 2013 ではうまくいきました。そのため、将来この質問に遭遇し、「できない」という回答が気に入らない人のために、ここに投稿します。
新しいファイルを作成する場合:
Excel が新しいファイルを作成するたびに使用する新しいテンプレートを作成します。
- 空白のワークブックを開く
- 必要に応じてカスタマイズします (今後の新しいワークブックはすべてこのワークブックのコピーとなるため、フォント設定や列幅など、お好みに合わせて設定してください)
- 保存したいカスタム カラーごとに、セルをそのカスタム カラーに設定します。(私は
A1
何度も使用しました) - すべてのセルを塗りつぶしなしに戻します
- 「最近使用した色」に表示したい色ができたので、テンプレートを保存できます。
- ファイルを「Book.xltx」としてExcelのスタートアップフォルダに保存します。私の場合は、
C:\users\{username}\AppData\Roaming\Microsoft\Excel\XLSTART\
- テンプレートが開いている間は、テンプレートに基づいて新しいファイルを開くことができないため、ファイルを閉じます。
- 新しいファイルを開いて、うまくいったかどうか確認します
ステップ 8 に到達すると、新しいファイルには以下の色のオプションが含まれていました。
古いファイルを編集している場合:
VBA を使用して上記の手順 3 を自動化します。
- 以下のVBAを個人用マクロブック
- 変数を編集して、
ColorList
必要なRGB値のリストにします。 - 特定の設定に応じてスリープ時間を編集します
- リボンにマクロを追加する
(これらのリンクが消えてしまった場合、その問題はよくあることなので、お好みの Web 検索エンジンで大量のヘルプを見つけることができるはずです。)
'Declare Sleep() API
#If VBA7 Then ' Excel 2010 or later
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr)
#Else ' Excel 2007 or earlier
Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long)
#End If
Sub LoadRecentColors()
'PURPOSE: Use A List Of RGB Codes To Load Colors Into Recent Colors Section of Color Palette
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim ColorList As Variant
Dim CurrentFill As Variant
'Array List of RGB Color Codes to Add To Recent Colors Section (Max 10)
ColorList = Array("066,174,093", "184,055,038", "046,062,081", "056,160,133")
'Store ActiveCell's Fill Color (if applicable)
If ActiveCell.Interior.ColorIndex <> xlNone Then CurrentFill = ActiveCell.Interior.Color
'Optimize Code
Application.ScreenUpdating = False
'Loop Through List Of RGB Codes And Add To Recent Colors
For x = LBound(ColorList) To UBound(ColorList)
ActiveCell.Interior.Color = RGB(Left(ColorList(x), 3), Mid(ColorList(x), 5, 3), Right(ColorList(x), 3))
DoEvents
SendKeys "%h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "m"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "~"
Sleep 500 'Pause half-second (units in milliseconds)
DoEvents
Next x
'Return ActiveCell Original Fill Color
If CurrentFill = Empty Then
ActiveCell.Interior.ColorIndex = xlNone
Else
ActiveCell.Interior.Color = currentColor
End If
End Sub