Excel VBA質問箱 IV

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

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


3020 / 13644 ツリー ←次へ | 前へ→

【64759】特定セルに入力後特定範囲セルを塗りつぶす方法 ゆう 10/3/12(金) 12:03 質問[未読]
【64761】Re:特定セルに入力後特定範囲セルを塗りつ... HikaL 10/3/12(金) 12:24 回答[未読]
【64763】Re:特定セルに入力後特定範囲セルを塗りつ... ゆう 10/3/12(金) 12:38 お礼[未読]

【64759】特定セルに入力後特定範囲セルを塗りつぶ...
質問  ゆう  - 10/3/12(金) 12:03 -

引用なし
パスワード
   初めまして、知恵をお借りしたくて投稿致しました。

過去ログを検索しても出てこなかったので助けて頂けば幸いです。

当方VBAはほぼ初心者で現在行おうとする処理なのですが…

特定列、例えばE列2行目に"土"の文字が入った場合2行目のEFGHセルをあらかじめ指定されている色で背景色をつけたい場合の処理が解らず困っております。

それを2行目であれば2行目の、3行目のであれば3行目のEFGH列を塗りつぶしたいのです。

それを20行目まで反映させたいと思っております。

E以外については「土曜日」という文字列は入りません。別の言葉が入るため複数セルを選んでの条件分岐が使えずVBAで処理しようとしております。

他不明瞭な点について記載致しますとEに入る文字列は"土"or"日"、これはプルダウンメニューから選択させております。

現状作ってみたコードは以下のようになっております。

Private Sub Worksheet_Change(ByVal Target As Range)

  Dim rngCel As Range
  Dim intIdx As Integer

  '処理の対象となるセル範囲
  '一行目はindexが存在してるため2行目以降指定
  Set TargetArea = Intersect(Range("E2:E20"), Target)
      '背景色カラーインデックスを条件分岐で定義
      Select Case rngCel.Value
        Case "土": intIdx = 33
        Case "日": intIdx = 38
        Case Else: intIdx = 0
      End Select
      '背景色を変更※
      Range(rngCel.Offset(0, -1), rngCel) _
      .Interior.ColorIndex = intIdx
    Next rngCel
  End If
End Sub
色々調べてはおりますが、どうすれば望んだ処理になるか行き詰っております…。

ヒントだけでも頂ければ有難いです。宜しくお願いします。

【64761】Re:特定セルに入力後特定範囲セルを塗り...
回答  HikaL  - 10/3/12(金) 12:24 -

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

>特定列、例えばE列2行目に"土"の文字が入った場合2行目のEFGHセルをあらかじめ指定されている色で背景色をつけたい場合の処理が解らず困っております。

本件VBAを使わず「条件付書式」だけで対応可能ではないでしょうか?
▼参考
[1]2行目のEFGHを選択。
[2]「書式」→「条件付書式」
[3]”条件1(1)” → 「数式が」選択
[4]=$E2="土"

これで対応できないでしょうか?

【64763】Re:特定セルに入力後特定範囲セルを塗り...
お礼  ゆう  - 10/3/12(金) 12:38 -

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

有難う御座います、数式で文字列対応出来る事を見逃しておりました。

無事解決しました。重ねて御礼申し上げます。

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