• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで自動で列を反転表示することはできますでしょうか?)

エクセルで列を反転表示する方法とは?

siddhaarthaの回答

回答No.1

マウスポインタの動きに合わせて色反転をするのは 無理っぽいですが、セルをクリックまたは矢印キーで 行移動した際にその行全体の色を反転するのは可能です。 簡単にコーディングしてみました。 <使い方> (1)設定したいEXCELブックを開いて「Alt-F11」を押す (2)VBAの画面が開くので、下記のコードを貼り付ける。 ---------------------------------------------- Public glnBfrRow As Long '選択行の記憶領域 Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) '複数セル選択時は無視 If (Target.Count > 1) Then Exit Sub End If '前の選択行の色を戻す If (glnBfrRow <> 0) Then Rows(glnBfrRow).Interior. _ ColorIndex = xlNone End If '現在の選択行の色を変更 Rows(Target.Row).Interior. _ ColorIndex = 15 '<---好きな色番号に変更 '現在の選択行を記憶 glnBfrRow = Target.Row End Sub ---------------------------------------------- ちなみに、これだとシートを保存して次に開くと 色付きの行が残ったままになっちゃうんだけど・・・ それは「Workbook_BeforeSave」イベントにでも 保存する前にglnBfrRow行の色を戻すってな処理を 書けば回避できそうです。 (勉強がてらやってみてください) 以上、イメージと違うなら補足願います。

hatomuga54
質問者

お礼

お忙しいなか早速のご返答ありがとうございました!! なんとか試してみました。 最初、おぉ~!と思ったのですが、既に塗りつぶしされている 行を通過すると塗りつぶしされていた行が塗りつぶしなしになってしまいました。(しかたないんでしょうね?) エクセルの行全体反転表示、列全体反転表示の機能を、いちいち端をクリックせずに使うことはできないのでしょうかね? また私自身昨日「かんたんプログラミング Excel2003 VBA 基礎編 」を購入しました。わかりやすくていい感じです。 これからバリバリ勉強します。 ありがとうございました!!

関連するQ&A

  • エクセルの使い方

    Windowsでエクセル2002を使っています。 行や列を一つ飛ばしで(一行ごと、一列ごとに)色を着けていきたいのですが、やり方が分かりません。 行の一番左の数字の所を選択して色を変えれば一行全体が変わるのですが、 一行飛ばしで選択してまとめて色を変えようと思いシフトを押しながら選択したのですが、色が変わって欲しくない中間までが選択されてしまいます。 一行(一列)飛ばしてや、離れたところの任意の行(列)を選択する方法があれば教えて下さい。 よろしくお願いします。

  • excelで選択範囲の反転をしたいのですが

    EXCELで、ある範囲を選択しているとします。それで、その選択している範囲を反転させたいのです。メニューバーやツールバーの中を探したのですが、どうしても見つけることができません。 VBAとかを使わないと無理なのでしょうか? 実は、表を作って、一列置きに色をつけて、あと、7列ごとに色をつけたりするのに、範囲選択するのがめんどうなので、列、行ごとに色をつけてしまったあと、表を選択→選択範囲の反転→塗りつぶしなし というふうにできれば楽なのになと思うのです。 やりかたをご存じの方、教えていただけるとうれしいです。よろしくお願い致します。

  • エクセルVBAで特定の列の複数の行を一覧表示し

    エクセルVBAで特定の列の複数の行を一覧表示し マウスなどで選択された項目を特定の変数に代入するにはどのようにVBAを書けばよいか教えてください。 たとえばC列の縦10行分を一覧表示して、マウスで選択した一項目を変数に代入するというようなことです。

  • エクセル2007 条件付き書式 一列自動塗りつぶし

    エクセル2007で、一列全体を自動で塗りつぶしする方法を教えてください。 具体的にやりたいことは、こういうことです。 次のようなTODOリストがあるとします。    A        B             C 1  2012/4/25  A社へ請求書の送付  済 2  2012/4/26  B社へ見積書の提出  済 3  2012/4/26  ミーティング資料作成    …       … A行に日付、B行に内容、C行はプルダウンで「済」か「空白」を 選択するようになっています。 その際、C1で「済」を選択すると、A1、B1、C1全てが、 灰色で塗りつぶし(グレーアウト)されるようにしたいのです。 また、C1に何か文字が入ればグレーアウトする方法も知りたいです。 (「済」か「空白」ではなく、完了日を記載した時点で、  その列全体がグレーアウトされる) エクセル2003では条件付き書式を使って出来たのですが、 2007になってからやり方が分からず困っています。 (C1で「済」を選択すると、C1セルだけが自動で塗りつぶす方法しか分かりません) 分かりづらい説明で申し訳ないのですが、どなたか教えていただけないでしょうか? どうぞよろしくお願いいたします。

  • GOOGLEスプレットシート 規則的な計算列

    一行目の 一列目 =1-34/35 二列目 =1-33/35 三列目 =1-32/35 一列目の 一行目 =1-34/35 二行目 =1-34/35*33/34 三行目 =1-34/35*33/34*32/33 という法則性をもった表を作りたいのですが 1.2.3.4のように簡単な規則性なら範囲選択からスライドして表を作れるんですけど この数式だと規則性として認識しないみたいでできません どうにか簡単に表を作る方法はありませんか?

  • EXCELの行(または列)の表示・非表示について

    EXCELの行(または列)の表示・非表示についてですが、 通常は該当する行(または列)を選択し、マウスの右クリックで 選択して実行すると思いますが、 例えばVBの『コマンドボタン』を2つ使用すること(表示用,非表示用)で、 予め指定した範囲の行や列を表示したり非表示にしたりすることは 可能でしょうか? ご存知の方がいらっしゃればお教え願います。 ちなみにVBについては殆ど知識がありません。 宜しくお願い致します。

  • エクセル2003での行(列)の自動挿入

    行(列)の自動挿入についての質問です。 空欄無しのひとつの表が有るとします。 行を挿入する場合、一行づつ挿入していますが 100行とかあると、同じ操作を100回繰り返さねば なりません。 表全体を一行とばしとか2行とばしとか一気に 出来る方法があったら教えてほしいです。

  • CSVファイルの指定列だけを読み込んでEXCELに表示したい

    EXCELのVBAの .ActiveSheet.QueryTables.Add メソッドを利用する方法で、 (不可能ならば別な方法でもお願いします。) CSVファイルを読み取って、シートに書き込みたいと思ったのですが、 その際、CSVファイル全体ではなくて、特定番目の列だけを読み取って、書き込むことは出来ないでしょうか。 その特定の列の指定を複数にすることも出来ますでしょうか。 もし複数でも可能でしたら、EXCELに書き込むときに、 一列目、二列目、と詰めて書くのではなく、間に空列をはさんだりして、 バラバラに好きな位置の列に、読み取ったそれぞれの列を、書き込むことは出来るでしょうか。

  • Excelの行、列の左方向シフト、上方向シフト削除ができません。

    Excelの行、列の行全体、列全体の削除はできるのですが、左方向にシフト、上方向にシフトの削除が選択できずグレーになったままです。行、列の挿入も行全体、列全体は選択できるのですが、右方向にシフト、下方向にシフトの挿入ができません。 自分が作成したファイルではないので、どのように設定されているのかわかりません。わかるかた教えてください。

  • エクセルで、列の表示をA B C・・・にするには。

    エクセルで、左と上の端の灰色の部分で、行も列も123・・・と表示されていまして、最初にエクセルを起動した状態のように、列の表示をA B C・・・にするにはどうしたらよいのでしょうか? よろしくお願いします。