Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


87 / 13027 ツリー ←次へ | 前へ→

【78812】特定の指名した氏名にバックカラーをつけたい トキノハジメ 17/2/8(水) 11:30 質問[未読]
【78814】Re:特定の指名した氏名にバックカラーをつ... β 17/2/8(水) 13:53 発言[未読]
【78821】Re:特定の指名した氏名にバックカラーをつ... トキノハジメ 17/2/8(水) 18:02 質問[未読]
【78822】Re:特定の指名した氏名にバックカラーをつ... マナ 17/2/8(水) 19:53 発言[未読]
【78861】Re:特定の指名した氏名にバックカラーをつ... トキノハジメ 17/2/12(日) 16:07 お礼[未読]
【78833】Re:特定の指名した氏名にバックカラーをつ... β 17/2/9(木) 9:54 発言[未読]
【78862】Re:特定の指名した氏名にバックカラーをつ... トキノハジメ 17/2/12(日) 16:12 質問[未読]
【78863】Re:特定の指名した氏名にバックカラーをつ... β 17/2/12(日) 17:28 発言[未読]
【78834】Re:特定の指名した氏名にバックカラーをつ... β 17/2/9(木) 10:17 発言[未読]
【78864】Re:特定の指名した氏名にバックカラーをつ... トキノハジメ 17/2/12(日) 18:51 お礼[未読]

【78812】特定の指名した氏名にバックカラーをつけ...
質問  トキノハジメ  - 17/2/8(水) 11:30 -

引用なし
パスワード
   いつもお世話になります。一つ教えて下さい。

   A   B   C   D   E   F
1  川田 福本 西村 山田 笠井 沼田

上の例で山田と沼田に赤のバックカラー

川田と西村に青のバックカラーをつけたいのですが

尚氏名の表示する順位は色々変わります。

宜しくお願いいたします。

【78814】Re:特定の指名した氏名にバックカラーを...
発言  β  - 17/2/8(水) 13:53 -

引用なし
パスワード
   ▼トキノハジメ さん:

エクセルバージョンは何でしょうか?
xl2007以降であれば、条件付き書式で対応すればマクロは不要です。

【78821】Re:特定の指名した氏名にバックカラーを...
質問  トキノハジメ  - 17/2/8(水) 18:02 -

引用なし
パスワード
   ▼β さんお返事有難う御座います。

バージョンは2010です。

氏名はプログラムの中で VBA にて別表からコピーしてきた表なので流れの中で

VBA で組み込めればと思って投稿してみたのですが、できれば何かヒントを頂

けないでしょうか。宜しくお願い致します。

【78822】Re:特定の指名した氏名にバックカラーを...
発言  マナ  - 17/2/8(水) 19:53 -

引用なし
パスワード
   ▼トキノハジメ さん:

>できれば何かヒントを頂けないでしょうか。


セルの色をかえるのは「マクロの記録」で。

条件(この場合、セルの値)によって、
処理をかえるには、Select Case を使います。
使用例は、ネット検索で。

【78833】Re:特定の指名した氏名にバックカラーを...
発言  β  - 17/2/9(木) 9:54 -

引用なし
パスワード
   ▼トキノハジメ さん:

>氏名はプログラムの中で VBA にて別表からコピーしてきた表なので流れの中で
>
>VBA で組み込めればと思って投稿してみたのですが

それでは、その別マクロをアップすれば、具体的な回答がつくと思いますよ。

【78834】Re:特定の指名した氏名にバックカラーを...
発言  β  - 17/2/9(木) 10:17 -

引用なし
パスワード
   ▼トキノハジメ さん:

A1から右、1行目のセルに条件付書式をセットするコードサンプルです。

たとえば

  With Range("A1", Cells(1, Columns.Count).End(xlToLeft))

これを

  With Range("A1", ActiveSheet.UsedRange)

にすれば、A1から始まるシート内全領域に一度にセットすることも可能です。

Sub Sample()
  With Range("A1", Cells(1, Columns.Count).End(xlToLeft))
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
      "=OR(A1=""山田"",A1=""沼田"")"
    With .FormatConditions(.FormatConditions.Count).Interior
      .PatternColorIndex = xlAutomatic
      .Color = vbRed
      .TintAndShade = 0
    End With
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
      "=OR(A1=""川田"",A1=""西村"")"
    With .FormatConditions(.FormatConditions.Count).Interior
      .PatternColorIndex = xlAutomatic
      .Color = vbCyan
      .TintAndShade = 0
    End With
  End With
End Sub

【78861】Re:特定の指名した氏名にバックカラーを...
お礼  トキノハジメ  - 17/2/12(日) 16:07 -

引用なし
パスワード
   ▼マナ さん:
ありがとうございます。

【78862】Re:特定の指名した氏名にバックカラーを...
質問  トキノハジメ  - 17/2/12(日) 16:12 -

引用なし
パスワード
   ▼β さん:

有難うございます。コードまで頂いてすみません。
コードに埋め込んで問題なく動いております。
一つ甘えついでに教えて下さい。バックカラーをつた文字を色をしろにしたいのですが、宜しくお願い致します・

【78863】Re:特定の指名した氏名にバックカラーを...
発言  β  - 17/2/12(日) 17:28 -

引用なし
パスワード
   ▼トキノハジメ さん:

回答の前に。

・条件付書式はもちろんご存知ですよね?
・マクロ記録も、もちろんご存知ですよね?

>コードに埋め込んで問題なく動いております。

まず、この設定を反映させるセル領域が、シート上で決まっていれば
あるいは、行数は増減しても、列についいては開始行も含めてきまっていれば
手作業で、条件付き書式を1度、このシートに設定しておけば、マクロでは
何もしなくてもOKなんですよ?

また、仮に手作業ではなく、その1度限りの処理でもマクロで行いたい
ということであれば、私がアップしたコードの、設定対象領域を必要なものにして
1回実行すればいいわけで、毎回、マクロ実行するたびに設定をやりなおす必要は
全くありません。
(まぁ、その都度やり直しても実害はないですが)

で、背景色とともに、文字色も変えたいということなら、その条件付き書式設定の
操作を行う。それをマクロ記録してみる。

できあがったコードと私がアップしたコードを見比べれば、どこに何を追加したら
いいかが、たちどころにわかると思いますが?

まぁ、それらは、今後のトキノハジメさんの開発に生かしてもらうとして
面倒なので(?)以下。


Sub Sample()
  With Range("A1", Cells(1, Columns.Count).End(xlToLeft))
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
      "=OR(A1=""山田"",A1=""沼田"")"
    With .FormatConditions(.FormatConditions.Count)
      With .Interior
        .PatternColorIndex = xlAutomatic
        .Color = vbRed
        .TintAndShade = 0
      End With
      With .Font
        .Color = vbWhite
      End With
    End With
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
      "=OR(A1=""川田"",A1=""西村"")"
    With .FormatConditions(.FormatConditions.Count)
      With .Interior
        .PatternColorIndex = xlAutomatic
        .Color = vbCyan
        .TintAndShade = 0
      End With
      With .Font
        .Color = vbWhite
      End With
    End With
  End With
End Sub

【78864】Re:特定の指名した氏名にバックカラーを...
お礼  トキノハジメ  - 17/2/12(日) 18:51 -

引用なし
パスワード
   ▼β さん:
早速のご指導有難う御座います。

vbRed 等の記述は初めてですので勉強になります。

色々試してみます。

これからも宜しくお願い致します。

有難うございました。

87 / 13027 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free