• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

今日の http://oshiete1.goo.ne.jp/kotaeru.php3?q=1810649 の質問も似た質問です。 そこに答えたように、前の行の色を通常のパターン色に戻すには工夫が要ります。はっきり言えば、前の行を覚えて(変数に)おくほかないでしょう。それもイベントプロシージュアーを抜けても、変わらない変数にね。 Public y Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static x As Range If y = 0 Then Else x.Interior.ColorIndex = 0 End If Set x = Target Target.Interior.ColorIndex = 3 y = 1 End Sub

その他の回答 (1)

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

少し前に、同じような質問が出ていました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1809458 参考になるかと思います。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1809458

関連するQ&A

  • エクセルのアクティブセルの色を変えるには

    エクセルについて質問させて頂きます。 エクセルのアクティブになったセルの色を変えたいのですが Private m_ROW As Long '変更前の行番号 Private m_IRO As Long '変更前の色 Private Const MYCOLOR As Long = 36 '変更する色番号 Private Sub Worksheet_SelectionChange(ByVal Target As Range) '選択した行に色を付ける If Target.Row > 1 Then '2行目以降を対象とする '変更前の色に戻す If m_ROW <> 0 Then Rows(m_ROW).Interior.ColorIndex = m_IRO End If '変更前の行番号と色を記憶 m_ROW = Target.Row m_IRO = Rows(Target.Row).Interior.ColorIndex '色を変更 Rows(Target.Row).Interior.ColorIndex = MYCOLOR End If End Sub 上記の表記で行単位の変更は出来たのですが、セル単位での変更方法が分かりません。 変更の条件として、 ・アクティブなセルの色のみを変える ・アクティブからノンアクティブになった場合、前回指定されていた色へ戻す。 といった風にする事は可能でしょうか? 可能であればぜひご教授お願いいたします。

  • エクセルでアクティブセルに対応して自動で他セルの色付け

    エクセルでアクティブセルを選択したとき、 その選択したアクティブセルの行すべてに 色を自動で入れる、もしくはその10セル隣の セルを自動で色を付ける事ってできますか? 具体的な内容としては   a  b  c  d  e  f  g  h   1 色付             選択 2                3                      例えばG1セルを選択したとき、A1セルに色を付ける もしくは、G1セルを選択したとき、1の行すべてに 色を付けるという具合です。 このようにしたい理由として、行の間で関数が関連 づけられていて、行を間違って入力してしまうと 関連がすべて無意味になってしまうため、行を 間違わずに入力したいために、アクティブセルに 対して横の1列もしくは、横の関連するセルを目立たせ たいため、したいのですが、 良いやり方があれば、教えていただけないでしょうか

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

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

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

  • エクセル 条件付き書式 アクティブセルに色を付ける

    アクセスみたいにアクティブセルに色を付けるという事は、 エクセルではできないですか? アクセスの条件付き書式はアクティブなレコードに色を付けられますが エクセルの条件付き書式にはそのような機能はないのでしょうか? VBAのSelectionChangeイベント(だっけな?)でやるしかないですか?

  • アクティブセルで、縦と横の列に色をつけるのは?

    質問の意味あいがわからないと思いますが、たとえば、アクティヴセルが E4だとしたとき、E列と4の行をすべて色をつけたい。 どのようにしたらいいでしょうか? さらには、アクティブセルが移動するごと(入力セルを移動する)に、 上記で設定した色のまま、色がついた列と行を、移動させるためには、 どうしたらいいのでしょうか? VBAあるいはマクロなど方法があれば教えてください。 ただし、Exel2007です。

  • アクティブセルを交点と考え、縦と横の列に色をつけるには?

    質問の意味あいがわからないと思いますが、たとえば、アクティヴセルが E4だとしたとき、E列と4の行をすべて色をつけたい。 どのようにしたらいいでしょうか? さらには、アクティブセルが移動するごと(入力セルを移動する)に、 上記で設定した色のまま、色がついた列と行を、移動させるためには、 どうしたらいいのでしょうか? VBAあるいはマクロなど方法があれば教えてください。

  • Excel 2007で フォントの色が変わらない

    アドバイスお願い致します。 Excel 2002をアンインストール後、Office 2007 評価版をインストール。初めてExcel 2007を起動しました。画面上で文字の色を変更できません。セル選択し「フォントの色」をクリックしても、見た目には変化なし、しかし、文字列を選択してみると色は変更されている。次に、別のセルに選択を移すと元のセルは黒に戻ってしまう。諦めて印刷したところ、一部を除いて変更した色で印刷されました。「文字列を折り返す」に設定し、2行になっているセルは黒のまま、色変更されていない。 アドバイスお願い致します。

  • エクセルで入力しようとするセルに色を付けるにはどうすればいいですか

    エクセルで入力しようとするセルの行に色を付けて現在の入力行を分かり易くするにはどうすればいいですか? 別のシートからデータを持ってくる際に、その参照元のセルの色も一緒に持ってきたいんですがどうすればいいですか

  • アクティブセルの行のセルを複数指定選択-VBA

    アクティブセルの行のセルを複数指定選択-VBA コマンドボタンを押すとアクティブセルのある行のセルを個別に選択したいのですが、どのようにVBAにコードを入力すればいいのか悩んでいます。 例:選択したい列(セル)A:C,F:I アクティブセルがA2にある時、コマンドボタンを押してA2,B2,C2,F2,G2,H2,I2を選択する。   アクティブセルがA10にある時は、A10,B10,C10,F10,G10,H10,I10を選択する。 ご回答お待ちしています。宜しくお願い致します。

専門家に質問してみよう