- ベストアンサー
Excelマクロである条件のセル間(行方向)に色を付けたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub 背景色付け() Const 開始文字 = "A" Const 終了文字 = "円" Const 背景色 = 35 Dim 検索範囲 As Range Dim 条件範囲 As Range Dim C As Integer Dim R As Integer Set 検索範囲 = Range("A1", Cells.SpecialCells(xlCellTypeLastCell)) For R = 1 To 検索範囲.Rows.Count Set 条件範囲 = Nothing For C = 1 To 検索範囲.Columns.Count Select Case Cells(R, C) Case 開始文字 Set 条件範囲 = Cells(R, C + 1) Case 終了文字 If Not (条件範囲 Is Nothing) Then Set 条件範囲 = Range(条件範囲, Cells(R, C - 1)) 条件範囲.Interior.ColorIndex = 背景色 Set 条件範囲 = Nothing End If End Select Next C Next R End Sub
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
「A」や「円」が存在する列が決まっていない場合や、同じ行において、「A」や「円」が複数存在する場合には、 B1セルを選択 ↓ メニューの[書式]をクリック ↓ 現れた選択肢の中にある[条件付き書式]をクリック ↓ 現れた「条件付き書式の設定」ウィンドウの左端の欄をクリック ↓ 現れた選択肢の中にある「数式が」をクリック ↓ 右側の欄をクリックして、次の数式を入力 =COUNTIF($A1:A1,"A")>COUNTIF($A1:B1,"円") ↓ 「条件付き書式の設定」ウィンドウの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ウィンドウの[パターン]タグをクリック ↓ 好みの色をクリックして選択 ↓ 「セルの書式設定」ウィンドウの[OK]ボタンをクリック ↓ 「条件付き書式の設定」ウィンドウの[OK]ボタンをクリック ↓ B1セルにカーソルを合わせて、マウスを右クリック ↓ 現れた選択肢の中にある[コピー]をクリック ↓ 条件付き書式で色を付ける範囲全体を範囲選択して、マウスを右クリック ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック ↓ 現れた「形式を選択して貼り付け」ウィンドウの貼り付け欄にある、[書式]と記されている箇所をクリックしてチェックを入れる ↓ 「形式を選択して貼り付け」ウィンドウの[OK]ボタンをクリック 以上で完了です。 尚、上記の数式では、半角文字の「A」にしか対応しておりませんから、もし、入力される「A」が全角文字である場合には、入力する数式を次の様に変更して下さい。 =COUNTIF($A1:A1,"A")>COUNTIF($A1:B1,"円") 又、半角文字と全角文字が混在している場合には、入力する数式を次の様に変更して下さい。 =COUNTIF($A1:A1,"A")+COUNTIF($A1:A1,"A")>COUNTIF($A1:B1,"円")
お礼
ご指導ありがとうございました。 今回は、No3様の回答をBAとさせて頂きました。 ご了承下さい。
- kmetu
- ベストアンサー率41% (562/1346)
条件付書式で対応できます BからG列まで選択し 数式が: =$A1="A" として書式を設定してください
お礼
ありがとうございました。
お礼
ありがとうございます!まさにやりたかったことです。