- ベストアンサー
VBA 行のセルに色をつける
例えば、A1が選択されたらA1~A30までをセルの色は赤、フォントは白に 例えば、B1が選択されたらA1~B30までをセルの色は赤、フォントは白に といった感じで、選択された列の1行目を選択した場合にセルや文字の色を変更することは可能でしょうか?
- yuu1236
- お礼率80% (38/47)
- Excel(エクセル)
- 回答数3
- ありがとう数21
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 >縦ではなく、横の場合はどこを変えれば良いのでしょうか? >A1なら、1行目 >A2なら、2行目 最初の質問内容とは違っているような感じですが、 A列のどこかのセルを選択するとその行すべての塗りつぶしが「赤」・フォント色が「白」になるようにしています。 前回のコードは全て消去して↓のコードにしてみてください。(シートモジュールです) Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Cells .Interior.ColorIndex = xlNone .Font.ColorIndex = xlAutomatic End With With Target If .Column = 1 And .Count = 1 Then .EntireRow.Interior.ColorIndex = 3 .EntireRow.Font.ColorIndex = 2 End If End With End Sub ※ 質問では >例えば、A1が選択されたらA1~A30までをセルの色は赤、フォントは白に >例えば、B1が選択されたらA1~B30までをセルの色は赤、フォントは白に となっていますので、30列まで限定の場合は↓のコードに変更してみてください。m(_ _)m Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Cells .Interior.ColorIndex = xlNone .Font.ColorIndex = xlAutomatic End With With Target If .Column = 1 And .Count = 1 Then .Resize(, 30).Interior.ColorIndex = 3 .Resize(, 30).Font.ColorIndex = 2 End If End With End Sub
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7940)
ご利用のエクセルのバージョンが不明です 具体的にどこのセル範囲までそういう設定にしたいのか説明がありません 手順: A1から例えばJ30を(あるいは1行目から30行目までを)選択し、条件付き書式を開始する 新しいルールで数式を使用して…を選び(エクセル2003以前ではセルの値が → 数式がに変更し) =CELL("COL")=COLUMN() または =(CELL("ROW")=1)*(CELL("COL")=COLUMN()) と記入、書式ボタンでセルの塗色とフォントの色を設定 シート名タブを右クリックしてコードの表示を選択 現れたシートに下記のマクロをコピー貼り付ける private sub Worksheet_SelectionChange(byval Target as excel.range) application.screenupdating = true end sub ファイルメニューから終了してエクセルに戻り、セルを選択すると色が付く。 #この方法では無く、積極的にセルの色やフォントの色を塗り替えるマクロにしてしまうと、アナタが恣意的にセルの書式を変更していた状態を保全できないので注意します。
お礼
ご回答をありがとうございます。 2010です。配慮が足りませんでした。申し訳ありません。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 1行目以外を選択した場合は「塗りつぶし」はなし・「フォント色」は自動にしています。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myRng As Range With Cells .Interior.ColorIndex = xlNone .Font.ColorIndex = xlAutomatic End With If Target.Row = 1 And Target.Count = 1 Then Set myRng = Range(Cells(1, "A"), Cells(30, Target.Column)) With myRng .Interior.ColorIndex = 3 .Font.ColorIndex = 2 End With End If End Sub こんな感じではどうでしょうか?m(_ _)m
お礼
ご回答をありがとうございます。 縦ではなく、横の場合はどこを変えれば良いのでしょうか? A1なら、1行目 A2なら、2行目 といった感じです。 何度も申し訳ありません。
関連するQ&A
- 隣のセルで書式を変える VBA
通常の書式でのやり方ではわかりませんでした。マクロでなければできませんでしょうか? A列に値が入っていて、B列に値が入っていない場合にセル色とフォントを変更したいのです。 例えば、以下の感じです。 ・A6には値が入っていて、B6には入っていない場合にB6がセル色が赤でフォントが白 ・A7には値が入っていないくて、B7には入っていない場合は変化なし ※同じシートには他に、private sub でダブルクリックすると変化させるマクロが入っています。
- 締切済み
- Excel(エクセル)
- VBAで色の付いているセルの行削除
VBAで色の付いているセルの行を削除することは出来ないでしょうか? 量が多すぎて一つ一つ削除すのは大変で間違えて削除してしまいそうなので・・・ - 文字または数字 ■ 色の付いたセル(赤) A B C D E F・・・ 1- - - - - - 2- - - - - - 3- - - ■ - - 4- - ■ - - - 5- - ■ - - - 6- - - - - - 7- - - ■ - - 8- - ■ - - - 9- - ■ - - - 10- - - - - - ↓ A B C D E F・・・ 1- - - - - - 2- - - - - - 6- - - - - - 10- - - - - - よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBA セル内の文字列操作について
例えば、A列(A2より下のセル)のセル内にある文字列が、それぞれ対応するB列(B2より下のセル)のセル内にあった場合、該当文字列のフォントの色を変えたい(例えば「赤」)のですが、VBAで一括処理とかできるのでしょうか? <例> A列 B列 テスト このテストは・・・ → 「テスト」の部分のみ赤色にしたい。 サンプル サンプル → 文字列全部分の「サンプル」を赤色にしたい。 どうかご教示の程よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 左列の文字の色と同じ文字の色にしたいという条件付け書式は可能でしょうか
左列の文字の色と同じ文字の色にしたいという条件付け書式は可能でしょうか?例えばA1のセルのフォントの色が黒の場合B1のセルのフォントも黒、A1が赤の場合B1も赤のフォント、というように、左の列のフォントの色同じ色のフォントになるよう条件付けしたいのです。可能でしょうか?どのようにいれたらよいか教えていただけませんでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルVBA 条件にあうときセルを塗りつぶすには?
エクセルVBA 条件にあうときセルを塗りつぶすには? エクセルVBAについて教えてください。 _________A 列 _________B 列_________C列_________D列 -------------------------------------------- 1行| 基準値_________ 5_____________1____________8 2行| りんご____________1_____________9____________0 3行| みかん___________12___________5____________3 4行| ぶどう____________15___________7____________8 5行| バナナ____________3_____________1____________4 上図のようにデータがあります。 (実物は列行共に膨大です。また条件を4つ以上つける予定なので条件付書式は使えません) 各列の基準値に対して、セルの増減が、0以下のときに黄色に、5から8のとき大きくなるときに赤、9以上のときに青にセルの色を塗りつぶしたいです。 どのようにすればよいでしょうか? B列の場合、基準値が5です。 B2のセルの場合、基準値5と1(B2セル)の増減は-4です。 増減が0以下のときは黄色に、増減が5から8のときは赤に、増減が9以上のときに青にするので、このときは黄色に塗りつぶします。 B3のセルの場合、基準値5と12(B3セル)の増減は7です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 B4のセルの場合、基準値5と15(B4セル)の増減は10です。 増減が9以上のとき青色に塗りつぶすので、このセルは青色に塗りつぶします。 C2のセルの場合は、C列の基準値は1(C1セル)です。 基準値1と9(C2のセル)の増減は8です。 増減が5から8のとき赤に塗りつぶすので、このセルは赤に塗りつぶします。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 条件付きでセルと文字の色を変えたいです。
隣り合うセルの値を比較して、その条件によってセルと文字の色を変えたいと思ってます。 A B 1 5 3 2 4 8 1行目の場合は左のセルを赤、文字色を黒 2行目の場合は左のセルを青、文字色を黄 と変更させたいのですが、回答宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで土・日のセルに幅広く色をつけたい
エクセルで予定表を作成しています。A列に日付・BからH列まで項目を設けています。(A列は、33行目まで日付が入力されています) A列に条件付書式で、条件付書式の設定で条件(1)数式が=WEEKDAY(A33)=1 パターン 色 ブルー フォント 赤 A列に条件付書式で、条件付書式の設定で条件(2)数式が=WEEKDAY(A33)=7 パターン 色 グリーン フォント 赤 の設定を行いました。 A列の 土・日のフォントが赤に、セルの色がブルー・グリーンになるのですがBからH列はセルに色がつきません。 A33:H33 までの設定にするとセルの色がグレーになります。 AからHまでセルに同じ色を表示する設定はあるのでしょうか。
- ベストアンサー
- オフィス系ソフト
- VBA_複数条件下での色付
お願いします。 (XP・エクセル2003) たとえばA列に『あ』『い』『う』の3種の文字のいづれかが1行目から100行目まで並んでいるとします。(空白セルはなく必ずいずれかの文字が入っている) 『あ』の文字のときにはそのセルの色を赤色、『い』の文字なら青、『う』の文字なら黄とかえるマクロを作りたいのですが、方法がわかりません。 教えてください。 お願いします。
- 締切済み
- その他(ビジネス・キャリア)
- 複数の色つきセルを一つにまとめる
エクセルで複数の色つきセルを一つにまとめる方法について伺いたいです。 例えば、A1が赤、B1が青、A2が赤、B2が赤、A3が青、B3が青、C3が緑などのセルがあります。(これはセル内の文字に対応させて色づけさせたものです。)このときに、1行目に対応した1つのセル内に赤1/2,青1/2、2行目に対応した1つのセル内に赤1色、、1行目に対応した1つのセル内に赤1/3,青1/3,緑1/3を表示させたいと考えています。 最終的には、パワーポイントに貼り付けるため、対応するセルがかたまりのように見えればよいのですが、このようなことは可能でしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA 色付きのセルを、隣接セルに値で貼り付けたい
Excel365です。 A列に、100行ぐらいデータが入っています。 ところどころ、黄で塗りつぶされており、色は「黄」のみです。 A列内で、「黄」で塗りつぶしされているセルがあった場合、B列に、値として貼り付けたいです。 例の画像だと、 A2、A4のデータが、それぞれB2、B4に値として貼り付けたいです。
- ベストアンサー
- Excel(エクセル)
お礼
何度もありがとうございます。 自分の説明不足でした。すごく助かりましや。