2017-07-14 8 views
1

現在選択されている行をパターンで強調表示したい(その行のセルがすでに色付けされている可能性があるため色ではありません)。 次のVBAマクロを作成しましたが、新しいセルを選択するとシート全体の色がリセットされます。シート上のパターン全体をクリアしても構いませんが(パターンはセルがフォーマットされていないため)、パターンだけをクリアするように指定しても(ActiveSheet.Cells.Interior.Pattern = xlPatternNoneを使用)、カラーとボーダーもクリアされます。VBAを使用してExcelで色を変更せずに選択行を強調表示

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    'remove past colors 
    ActiveSheet.Cells.Interior.Pattern = xlPatternNone 
    With Me 
     .Rows(Target.Row).Interior.Pattern = XlPattern.xlPatternChecker 
    End With 
End Sub 
+0

font/fill/etcのデフォルト設定を試したことがありますか?これにより、必要な特定のパラメータだけを明確に変更することができます。また、ActiveSheet.Cells.Interiorはシート全体を参照します。 – Cyril

+0

さらに、イベントの変更時にアクティブになる条件付き書式を設定することもできます。セルの選択時には、アクティブな行に列の値がいくつかあります1であるため、Change Eventの色によって適用される条件付きフォーマットの式は、すべての(任意に)行のライトブルーに塗りつぶされ、ベースカラーは変更されません。変更イベントの条件付き書式設定は、条件付き書式設定を削除してから、activeowに必要なものを適用することから始まります。 – Cyril

答えて

1

xlPatternNoneの代わりにxlPatternAutomaticを使用してください。注、どのようにしてもグリッドは削除されますが(追加した枠線は削除されません)。

関連する問題