• ベストアンサー

EXCELの条件書式

例えば、5桁の乱数が10×100の表内に1000個入っています。この中から、特定の5桁の数値5個(例えば00023,81819,26345,88199,40876)のセルのみ背景を赤にしたいのです。 条件付書式で設定できる条件が3個しかありません。この3条件で抽出したセルを手作業で絶対書式にして、再度残りの2条件を設定しなおすしか方法はないでしょうか? 何か良いヒントありましたらお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#4564
noname#4564
回答No.1

  下記のマクロでできます。 (もっとよい方法があるかもしれませんが) Public Sub Macro1() Dim i As Long Dim j As Long Dim Color As Long With Application.ActiveSheet For i = 1 To .UsedRange.Rows.Count For j = 1 To .UsedRange.Columns.Count Select Case .Cells(i, j).Value Case 23, 81819, 26345, 88199, 40876 Color = 3 '赤 Case Else Color = xlNone '色なし End Select .Range(.Cells(i, j), .Cells(i, j)).Interior.ColorIndex = Color Next j Next i End With End Sub 作成、実行手順は以下の通りです。 (1) Excelのメニューより[ツール] - [マクロ] - [Visual Basic Editor] を選択。 (2) Visual Basic Editorのメニューより[挿入] - [標準モジュール]を選択。 (3) 追加された標準モジュールに上記のコードをコピー&ペースト。 (4) Excelのメニューより[ツール] - [マクロ] - [マクロ]を選択。 (5) Macro1を選択し、[実行]ボタンをクリック。 以上でOKです。  

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

VBAですこし簡単に Sub test01() Dim cl As Range Worksheets("sheet1").Select For Each cl In Selection v = cl.Value   If v = 1 Or v = 4 Or v = 3 Then   cl.Interior.ColorIndex = 3   End If Next End Sub テストは値が1か4か3でやりましたが、 V=1...としているところをV=23 Or V=81819... に変えてください。 シートのデータが入っている対象範囲全体をマウスで 範囲指定して、VBAを実行してください。 V=1 Or 4 Or 3 Thenは不可。

回答No.2

A1から数値が入っているものとします。 条件付書式で「セルの値が」のところを「数式が」にかえて、=OR(A1=00023,A1=81819,A1=26345,A1=88199,A1=40876)と入力して、 書式設定してOKボタンを押す。 あとは範囲にフィルでコピーすればOKです。

freefm
質問者

お礼

OR関数ですか。気づきませんでした。ありがとうございます。 仰るとおりにすると書式ではなく数値がコピーされてしまうので、形式選択貼り付けをするか、先に白紙に書式だけ設定してあとから数値をペーストすればいいみたいですね。

関連するQ&A