• ベストアンサー

セルの色を消したいのですが

例えばA1:E10の範囲でいろんな色で塗りつぶされている時、水色(ColorIndex=34)のセルだけを塗りつぶしなしにしたいマクロ組みたいのですが、よく分かりません。 どなたか、教えてください。

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

  • ベストアンサー
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

こんにちは。 こんな感じでどうでしょう? Option Explicit Sub Macro1() Dim r As Range For Each r In ActiveSheet.Range("A1:E10") With r.Interior If .ColorIndex = 34 Then .ColorIndex = xlNone End With Next r End Sub

jo-ster
質問者

お礼

今までIF関数みたいなのを使えばいいのかな と思ってたんですけど、詳しく分かりませんでした。 これで問題解消できそうです。 ありがとうございました。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

cOLORiNDEX=34は「薄い水色」ですね。こんなマクロでいかがですか Sub Macro6() Dim rng As Range  For Each rng In Range("A1:E10")   If rng.Interior.ColorIndex = 34 Then    rng.Interior.ColorIndex = xlNone   End If  Next rng End Sub

jo-ster
質問者

お礼

今までIF関数みたいなのを使えばいいのかな と思ってたんですけど、詳しく分かりませんでした。 これで問題解消できそうです。 ありがとうございました。 (間違えて補足の方に書き込んじゃいました)

jo-ster
質問者

補足

今までIF関数みたいなのを使えばいいのかな と思ってたんですけど、詳しく分かりませんでした。 これで問題解消できそうです。 ありがとうございました。

回答No.2

書式の”条件付書式”より、 さまざまな条件から、さまざまな書式の設定が出来ますよ。 とても便利です。

関連するQ&A

  • エクセルVBA 選択した値でセルの色を変える方法

    エクセルのVBAです。 指定されたセルの値をプルダウンで選択し、入力(選択)された値によって同じ列の指定した範囲に色を付ける、という内容です。 これを、一つの列のみで行う場合は、以下のコードでOKでした。 わからないのは、列の範囲が5~40まであり、それぞれ値を選択した時にそのセルと同じ列の指定範囲に色をつけることです。 ちなみに、条件付き書式は、すでに条件がいくつかついているため 使用できないという前提でお願いします) ちょっと説明がわかりづらいですが、おわかりになる方いらっしゃいましたら教えてください。よろしくお願いします!! ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Private Sub Worksheet_Change(ByVal Target As Range) a = Cells(33, 5).Value Select Case a Case "A" Range("E6:E31").Interior.ColorIndex = 6 Case "B" Range("E6:E17").Interior.ColorIndex = 8 Range("E18:E31").Interior.ColorIndex = 2 Case "C" Range("E18:E31").Interior.ColorIndex = 8 Range("E6:E17").Interior.ColorIndex = 2 Case "" Range("E6:E31").Interior.ColorIndex = 2 End Select End Sub ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Cells(33, 5)で A を選択した時は、E6:E31を黄色で。 B を選択した時は、E6:E17を水色かつE18:E31を白 C を選択した時は、E18:E31を水色かつE6:E17を白 値なしを選択した時は、色なし(白)

  • VBA セルの色を変更する

    VBA(エクセル2007使用)で、セルの背景色を変更する場合についての質問です。 マクロを実行する度に、セルの背景色を変更するマクロを作成しました。 オレンジ→水色→緑→灰色→無色  という風に変わっていくところまでは できたのですが、これだとマクロを実行するのにセルの状態が無色か、指定した カラーコードで塗りつぶされていないと実行できません。 下記、コードの一番最初の Case で ”背景色がどんな色の場合でも”という条件に したいのですが、どのように記載したらわからずにいます。。。 ---------------------------- Sub 色チェンジ() n0 = ActiveCell.Interior.ColorIndex Select Case n0 Case xlNone   ’ここを”どんな色の場合でも、、、という条件にしたいです。。” Selection.Interior.ColorIndex = 40 Case 40 Selection.Interior.ColorIndex = 34 Case 34 Selection.Interior.ColorIndex = 35 Case 35 Selection.Interior.ColorIndex = 15 Case 15 Selection.Interior.ColorIndex = xlNone End Select End Sub -----------------------------------

  • セルの色を変えたいのですが。

    セルの色を変えたいと思っています。 現状はマクロで Sub カラー1() i = 7 For j = 21 To 100 RESULT = Cells(j, i) If RESULT = "#N/A" Then Cells(j, i).Interior.ColorIndex = 3 End If Next j i = 17 For j = 21 To 100 RESULT = Cells(j, i) If RESULT = "#N/A" Then Cells(j, i).Interior.ColorIndex = 3 End If Next j End Sub とかいてあります。 "#N/A"ですがVLOOKUP関数で値が一致していない場合に でてくるのですが、この時にセルの色を変えて表示したいと思っています。 どうすればよいでしょうか、教えてください。

  • セルの色をマクロで判定

    セルの色をマクロで判定したいのですが、知恵をお貸し下さい。 シート1のA1セルからA40と      C1セルからC40と      E1セルからE40セルを確認しセルが黄色だったら シート2のF1セルからF40      H1セルからH40      J1セルからJ40の同じ配列の所(A1だったらF1)のセルを赤色にしたいのですが、どのようなマクロを組むといいのでしょうか、どうか宜しくおねがいします。

  • セル色を5秒間隔で変える

    マクロ作成でセルに色を3色順次に変わるようにしたいのですが、 セル色の変更時間が早く、最後の色のみの表示になります。 コマンドボタンをクリックすると、アクティブセル(B3からF3)までのセル色が黄色・薄青・赤に5秒間隔で変色し、その後、下のセルに移動します。 再度、コマンドボタンをクリックすると、先ほどの上のセルの色が消え、アクティブセルに黄色・薄青・赤に5秒間隔で変更するVBAをお教えください。マクロで作成したVBを表示しておきます。 {timer}を使用するみたいですが、理解出来ませんので、宜しくお願いします。 罫線も引いてあります。 ActiveCell.Range("A1:E1").Select With Selection.Interior Timer = 4 .ColorIndex = 35 .Pattern = xlSolid End With Selection.Interior.ColorIndex = xlNone With Selection.Interior .ColorIndex = 7 .Pattern = xlSolid End With Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With Selection.Borders(xlInsideVertical).LineStyle = xlNone ActiveCell.Offset(1, 0).Range("A1:E1").Select End Sub

  • セルをクリックしたら色を変えまたくりっくしたらもと

    エクセル2010です。 お願いいたします。 セルをクリックしたら色を変え、またくりっくしたらもと戻す  というのを したいのですが。 詳しく述べます。 セル範囲 (A1:K1) の範囲で そのセルをクリックしたら 黄色 また 同じセルをクリックしたら 色なし というものに できないでしょうか? (A1:K1)以外のセルには、その方式は適応させないものとしたい。 または、オートシェイプを A1 A2 A3 A4 A5 A6 A7 A8 A9 の高さ 幅を ピッタリしたものを 各セルの上に配置して オートシェイプにそれぞれマクロを登録する 形で 同様なものが できてもいいと考えております。 詳しい方アドバイス いただければと 思います。

  • 【VBA】クリックする毎にセル色が変わる

    Excelのセルをクリックするたびに、「色なし→赤→青→黄→黒→色なし」などのように色を順番に変更する方法があれば教えてください。 下記のSelectionChangeコードで、「色なし→黄→色なし」にできるのですが、複数の色を順番に表示させたいと思っております。 お手数お掛けいたしますが、よろしくお願い致します。 ================================================= Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim 各セル As Range Set Target = Intersect(Target, Range("A1:A5")) If Target Is Nothing Then Exit Sub For Each 各セル In Target With 各セル If .Value = 1 Then .ClearContents .Interior.Pattern = xlPatternNone Else .Value = 1 .Font.ColorIndex = 6 .Interior.ColorIndex = 6 End If End With Next End Sub =================================================

  • 色のついたセルの文字を消す

    お世話になります。 平成○○年○月     A  B C  D  E   F  G  1   月 火 水 木 金 土 日 2   ○ ○ ○ ○ ○ ○ ○ 3   ○ ○ ○ ○ ○ ○ ○ 4   ○ ○ ○ ○ ○ ○ ○ 5   ○ ○ ○ ○ ○ ○ ○ 6   ○ ○ ○ ○ ○ ○ ○ 上記のようなデータがあり、条件付き書式のルールで土曜日と日曜日のセル(F2からF6とG2からG6)、にはセルに色がついています。マクロをつかって、色のついたセルの〇を自動で消したいのですが、そういうことは可能でしょうか? ちなみに月日を変えると曜日は自動で変わるようになっています。 よろしくお願いします。

  • セル色を取得するユーザー関数

    セル色を取得するユーザー定義関数として、 Function CellColor(objCell As Range) As Integer  Application.Volatile  CellColor = objCell.Interior.ColorIndex End Function 上記のコードを標準モジュールに貼り付け、例えばB2セルに「=CellColor(A2)」という計算式を入力すると、B2セルにA2セルの塗りつぶし色のColorIndex値が表示されるようになります。 これをB2セルに例えば「=CellColor()」というように入力すれば B2セルにB2セルの塗りつぶし色のColorIndex値が表示されるようにするには、 どのようなユーザー関数を作ればよいでしょうか? よろしくお願いします。

  • エクセル VBA セルをクリックすると色が変わる

    いつも皆様には大変お世話になっております。 早速ですが、VBAでセルをクリック(もしくはダブルクリック)するとそのセルの色が変わるといったようなマクロが組めるでしょうか。 色を変えたいのは、A1~A4までの4個のうち1個だけなのでA1がクリックされればA2~A4までは『色なし』にしたいのです。 そんなことは出来るでしょうか? よろしくお願いいたします。

専門家に質問してみよう