に返されます。Excelに複数の日付を含む表があります。表のレコードはカレンダー(別のシート上)にリンクされているため、表の日付をクリックするとカレンダー内のその日付のセルに移動します。カレンダーシートには、次のVBAがあり、そのシートのアクティブセルが黄色で強調表示されます。以下そのコードを参照してください。Excel VBA塗りつぶしの色Xのセルが塗りつぶしのない色に変更された場合、セルの塗りの色がX
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Dim cell As Range
'Turn off ScreenUpdating (speeds up code)
Application.ScreenUpdating = False
'Loop through each cell in the ActiveSheet
For Each cell In ActiveSheet.UsedRange
'Check for a specific fill color
If cell.Interior.Color = RGB(255, 255, 0) Then
'Remove Fill Color
cell.Interior.Color = xlNone
End If
Next cell
' Highlight the active cell
Target.Interior.ColorIndex = 6
Application.ScreenUpdating = True
End Sub
それは、ユーザーが最初に塗りつぶしの色を含んカレンダーシート上の別の細胞を活性化すれば、それはセルの元の色ことをクリアするという事実を除いて、魔法のように動作します。これは、塗りつぶしがないセルでは問題ありませんが、以前に塗りつぶされたセルをアクティブにしてからクリックすると、カレンダーがぼやけて見えます。
私は何を求めているのか分かりませんが、私がしたいのは私のコード設定をそういう形でして、シート上の任意のセルが塗りつぶしの色X(紫色私の場合)を塗りつぶしないようにするには、そのセルを色Xに戻すことが必要です。
私は基本的にExcelでカラーレイヤーを塗りつぶす必要があります。私はそれをMicrosoftに提案するべきです。
私はVBAの全員ですので、これが可能かどうか、あるいは私がこの質問を書いた方法がうまくいけば教えてください。
セルのデフォルトの色(x色)は常に同じですか? –
こんにちはKresimir L.いいえ私はもっと具体的にすべきだったすみません。合計3色あります。 カラー1:R-96、G-73、およびB-122 カラー2:R-177、G-160、およびB-199 カラー3:R-228、 G-223、B-236が挙げられる。それは今までのものに過ぎません3 – UserX
あなたの説明によれば、以前に使用されていた色にセルを戻したいと思うように聞こえますか?あれは正しいですか?もしあなたが配列や隠れたシートのセルの色やセルのアドレスを把握しておかなければならず、誰かがセルをクリックするたびに、その配列を検索して色をリセットする必要があるかどうかを調べます。 – Miguel