• ベストアンサー

Excelシートの行列欄の色を変更するには?

こんにちは 別々の2シートを画面に並列に表示して作業をしていますが、この時にアクティブシートがわかりにくい。(2画面共がグレー色) わかりやすくするために行(1,2,3…)の場所、列(A,B,C…)の場所をグレー色から別の色に変更したいです。アクティブのときのみ。シート名の色変更はできるのですが、これでは見づらいです。 Excelでは、不可能なんでしょうか?可能ならば、VBAでしたいと考えています。 ずいぶん試行錯誤をいたしましたが、解決いたしません。 いかがでしょうか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 回答No.5の回答内容を書いている途中に、回答No.4に対する補足コメントが投稿されていたようですが、 >Excel2010です という事であれば、 Worksheets("請求書").Activate ActiveWindow.NewWindow Worksheets(SheetN).Activate Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical の様なVBAで2画面表示とした場合には、外枠(列番号欄や行番号欄ではない)の色がアクティブシートのみがグレーとなって、アクティブではないシートの外枠は白色で表示される筈ですので、再度御確認下さい。  あくまで、 >行(1,2,3…)の場所、列(A,B,C…)の場所 の事では御座いませんので、お間違えの無き様に願います。 ※Excel2013の場合には外枠が表示されない様ですので、回答No.2様のご意見は間違ってはおりません。

wellfield
質問者

お礼

この質問の正解はいろいろ試行錯誤の結果、Excelそものに機能がないようですので、あきらめます。 これにて今回の質問は、完全解決ではありませんが、終わらせていただきます。 kagakusukiさん 、msMikeさん ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

>上記のようなVBAですが、やはり2画面ともグレーでした。  どうやらExcelのバージョンの違いのため、質問者様が御使いのものと当方が使用しているものとでは表示の仕方が異なっている様です。  それで、 >行(1,2,3…)の場所、列(A,B,C…)の場所 の色を変更する方法に関しては私には解りかねますので、その代わりとしてセルの枠線の色を変える事でアクティブシートの区別がつく様にするという方法は如何でしょうか?  以下のVBAの構文を標準モジュールではなく、ThisWorkbookモジュールに入力してみて下さい。(但し、bookが保存される際には、枠線の色が変わったままで保存されますので、その点は御容赦願います) Private Sub Workbook_WindowResize(ByVal Wn As Window) ActiveWindow.GridlineColorIndex = 5 End Sub Private Sub Workbook_WindowActivate(ByVal Wn As Window) Dim i As Integer For i = 1 To ActiveWorkbook.Windows.Count Windows(i).GridlineColorIndex = 0 Next i ActiveWindow.GridlineColorIndex = 5 End Sub  因みに、上記のVBAではアクティブシートのセルの枠線の色が青色に変わる様になっておりますが、他の色にされたい場合には、2箇所ある ActiveWindow.GridlineColorIndex = 5 という箇所の数値の5を、他の数値に変更して下さい。

wellfield
質問者

補足

kagakusuki さん お世話になります。セルの枠線の色を変える方法を試しましたが、今ひとつすっきりしなかったものでしたので、やめました。 まだ、Excelファイル作成中ですので、更に試行錯誤してみます。 (行(1,2,3…)の場所、列(A,B,C…)の場所の色を変更する方法に関しては、Excelの仕様で無理かどうかも含めて…) ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>それは一体どの様なやり方で2画面にした場合の事なのでしょうか?  つまり、質問者様が仰っておられる >2シートの画面表示にした直後(VBAで1画面から2画面にする)はいずれもグレーの状態 という状態が再現できないため、どの様な状況になっているのかが解らないのです。  どの様な状況なのかという事や、どうしてその様な状況となったのかといった事が不明なため、対処方法を考える事が出来ない訳です。

wellfield
質問者

補足

標準モジュールにkagakusukiさんの Sub Macro ~ endsubをコピーして試しましたが、現れた画面は2画面とも、やはりグレーでした。 Excel2010です。 シート1をシート最後尾に新シートを作成して、シート1をコピーしてシート名に「年月日+シート1」としています。 今回、シート1の変更に伴い、新コピーも更新するために画面を2面にしています。 (userform内にリストボックスを設定して、ブック内の全シートを表示し、更新したいシートを1個選ぶ) 今後、コピーしたシートが最後尾に増えていく予定です。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>2シートの画面表示にした直後(VBAで1画面から2画面にする)はいずれもグレーの状態です。 との事ですが、それは一体どの様なやり方で2画面にした場合の事なのでしょうか?  通常であれば、 >別々の2シートを画面に並列に表示 という画面表示とする際には、 Sub Macro() Worksheets("Sheet1").Activate ActiveWindow.NewWindow Worksheets("Sheet2").Activate Windows.Arrange ArrangeStyle:=xlVertical End Sub などの様にします。  そして、この様なやり方で2シートを画面に並列に表示させた際には、 >マウスでアクティブにしたいシートをクリック という操作をせずとも(何もしなくても)最初から >「各シートのウィンドウの外枠」の部分の色は、アクティブシートのみグレーとなっていて、アクティブではないシートでは白色 という状態になっています。

wellfield
質問者

補足

Worksheets("請求書").Activate ActiveWindow.NewWindow Worksheets(SheetN).Activate Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical 上記のようなVBAですが、やはり2画面ともグレーでした。なお、SheetNはシート名の変数です。

全文を見る
すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

比較的最近に Excel 2013 を使い始めた私も wellfield に同感です。 既に『「各シートのウィンドウの外枠」の部分の色は、アクティブシートのみグレーとなっていて、アクティブではないシートでは白色となっていますから、その色の違いでで区別されると良い』とのご回答がありますが、率直に言って、それは説得力に欠けるコメントだと思いました。 もっと良いご提案を、私も待っています。 wellfield さん、質問してくれてありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

>行(1,2,3…)の場所、列(A,B,C…)の場所 の色は仰る様にどちらもグレーですが、 >別々の2シートを画面に並列に表示して という状態で、アクティブシートかどうかを見分けるのでしたら、「行(1,2,3…)の場所、列(A,B,C…)の場所」の様な同じ色となっている所で見分けようとするのではなく、アクティブシートだけ異なる色で表示されている所で見分ければ済む話ではないかと思います。  「行(1,2,3…)の場所、列(A,B,C…)の場所」の更に外側の「各シートのウィンドウの外枠」の部分の色は、アクティブシートのみグレーとなっていて、アクティブではないシートでは白色となっていますから、その色の違いでで区別されると良いと思います。

wellfield
質問者

補足

kagakusukiさん 早速にありがとうございます。 おっしゃられることは確かですが、2シートの画面表示にした直後(VBAで1画面から2画面にする)はいずれもグレーの状態です。マウスでアクティブにしたいシートをクリックして初めて、おっしゃられる状況ができます。そうではなく、2画面表示になった瞬間にシートをアクティブにしたいんです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのシート名を、シート1に作成した新旧一覧表に対応させる形で、複数シート一括で変更するには?

    エクセルのシート名の変更について教えてください。 シート1のA列に、現在のブックのシート名が、 シート1のB列には、変更したいシート名が 対応するように入力されています。 シート数は50~200程度で、つど変わります。 例     A列    B列 1行目:りんご   赤色  2行目:ばなな   黄色 3行目:メロン   緑色     ・     ・     ・     ・     ・     ・ ※この場合、「りんご」は「赤色」に、「ばなな」は「黄色」に、 「メロン」は「緑色」に、それぞれシート名を変換したい。 今は、手作業でひとつずつシート名を変換しており、 かなりの手間で困っています。 一覧表を作成するまでは手作業でいいのですが、 何とかして、シート名の変更を、この一覧表を参照して できないでしょうか? 過去の質問をいろいろと見たのですが、 該当するものが見つけられず、VBAも初心者のため、 途方にくれています。 ぜひともご教授ください。

  • 複数のエクセルファイルのシートを1枚のシートに

    100個以上のエクセル(CSV)ファイルの1枚目のシートに同じ書式のファイルが多数(100個程度)有るのですが、これを1枚のシートにまとめる方法は無いのでしょうか? 一枚のシートの行数は数行~50行以下で、全部のデータを1枚に纏めてデータ処理したいのですが、一括は無理でも出来るだけ簡単に出来る方法をお願いします。 尚、当方VBAは不得手で、あまり長いと(長くなくても)動くまでの試行錯誤の手間ひまで100枚のファイルのシートへのコピペが終わってしまう程度の実力ですので、ご配慮?お願い致します。

  • エクセル アクティブセル領域の色変更

    エクセルのVBAで、アクティブセルのある行だけを色変更するにはどうしたらいいのでしょうか? アクティブセルのある行の色変更までは出来るのですが、別のセルを選択した際に前の行の色を元に戻せません。 お願いします。

  • EXCEL VBAで変更のあった行の色を変えたい

    EXCEL VBAで変更のあった行の全てのセルの色を変えたいと思っているのですが,可能でしょうか?もし可能でしたら,どのようにしたら良いのでしょうか?

  • エクセルシートの行番号だけを隠すには?

    こんにちわ、よい天気ですネ。教えてください 私が使っているパソコンの画面は縦長です。そこで少しでもエクセルのデータ画面をたくさん表示したいのでシートの一番左の縦列の行番号の部分だけを非表示にしたいのですが、できるんでしょうか?(行番号と列番号の両方はできるんですが・・・・・) VBAでできたらハッピイーです。どなたかお教えくださいませんか? よろしくお願いします。

  • excelで一つのシート(sheet1)で行ことにランダムに色を分けて

    excelで一つのシート(sheet1)で行ことにランダムに色を分けてあるシート(sheet1)を同じ色ことの行探してコピーをして他のシート(sheet2)に一つの色の行のデータを集めたいですが, マクロで出来ないですか? マクロのことは素人ですので,助けてください.

  • エクセルシートの文字に色を付けたい

    XPですが、エクセル画面で、シート1などの処に名前を変更する場合、色付きのシート名にはなりませんか? お願いします。

  • エクセルで1行ごとに空白行を挿入し、挿入した空白行に色をつけたいです

    タイトルの通りです。 エクセル(2000)で、データはシート毎に件数が違います。 各シート毎にそれぞれ1行毎、空白行を挿入し、挿入した空白行のA列~G列までに薄いグレーの色をつけるマクロを入れたいのですが、うまくいきません。 詳しい方、教えて下さい。

  • エクセルで自動で列を反転表示することはできますでしょうか?

    エクセルのシート上で、マウスの動きに合わせて列全体が薄いグレー色などの色に変わるようにできますでしょうか? 列や行ごとに関連する大事なデータがあり隣のセルと間違えて見ないように一列、一行に色が付いてくれるとうれいしのですがいちいちエクセルの端をクリックして行や列全体の選択をするのがめんどうなもので。。。。マウスポインタがある行や列の色が自動で変わってくれると同時に結果的に選択されたような表示になってくれると助かります。 こういう動きをネットなどでも見かけるのですが名前がわからないのと エクセルのVBA等でできるのかどうかを教えて頂きたいと思います。 ご存じのかたいましたら宜しくお願い致します。

  • エクセル VBAで色塗りについて教えてください

    VBA初心者です。 例えばB列2行目から下に(1)~(7)までの番号を不規則に入力することにより F列11~17行目に1セルずつ右へ色塗りをしていくにはどうプログラムをかいたらよいでしょうか? 番号によって、色塗りの行と色は決まっています。 (1)→11行目、黄色 (2)→12行目、青色 (3)→13行目、赤色 (4)→14行目、緑色 (5)→15行目、白色 (6)→16行目、黒色 (7)→17行目、茶色 また色塗りはF列からBD列までで終了です。 番号の入力回数の多いものが色塗りを早く終了できることになります。 VBAの本をみながら試行錯誤していましたが、うまくできず… どなたか詳しい方、お力を貸してください。

専門家に質問してみよう