2016-05-11 8 views
1

範囲(I1:I100)で色付けされたセルはほとんどありません。私は行全体を色づける必要があります。私はVBAを記録していますが、何らかのエラーが表示されます。行全体の色付け

ActiveSheet.Range("I1:I100").AutoFilter Field:=1, Criteria1:=RGB(255, 255 _ 
    , 0), Operator:=xlFilterCellColor 
Rows.Activate.Select 
With Selection.Interior 
    .PatternColorIndex = xlAutomatic 
    .Color = 65535 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
ActiveSheet.Range("$A$1:$G$9").AutoFilter Field:=1 

しかし、変数を宣言することによって単純なコードを持つことは可能です。

+0

どういう意味ですか?行を着色する時期を決定する条件は何ですか、またはすべての行ですか?あなたは本当に行全体(あなたにはお勧めできません)またはデータの行全体を意味します。その場合、色付けされるデータの最後の列は何ですか。 –

+0

@ForwardEdそれは行(..)を記録している間の主な挑戦ですが、異なる作品では異なりますyフィルタの後にアクティブな行を入れようとしました –

+0

申し訳ありませんが、午後2時に私は目を覚ますと思います! –

答えて

1

Rows.Activate.Selectは、エラーが発生している場所です(.Activate.Select)。 How to avoid using .Select/.Activateを読んで、以下を試してください:

Sub t() 
' What's this next line supposed to do? 
'ActiveSheet.Range("I1:I100").AutoFilter Field:=1, Criteria1:=RGB(255, 255 _ 
    , 0), Operator:=xlFilterCellColor 

With Rows("1:100").Interior 
    .PatternColorIndex = xlAutomatic 
    .Color = 65535 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
ActiveSheet.Range("$A$1:$G$9").AutoFilter Field:=1 
End Sub 
関連する問題