2016-05-18 15 views
0

ワークシート上の約30行のデータの条件付き書式設定範囲を更新しようとしています。毎月私はデータを更新し、新しい月を組み込む範囲を調整するマクロを実行したいと思います。私はChartObjectsとSeriesCollectionをループすることでシリーズ範囲の終わりを更新することで、既に私のチャートでこれを行っています。私はコレクションを単にループに好むVBAを使用して条件付き書式設定範囲を更新しますか?

With Worksheets(1).Range("e1:e10").FormatConditions(1) 

:条件付き書式でこれを行うには

、私が見つけたすべてのものは、例えば範囲(セル参照または名前付き範囲のいずれか)を、ハードコーディングが必要ですワークシートの条件付き書式設定のExcel VBAオブジェクトモデルに存在するこのコレクションの証拠を見つけることができません。私はここに何かを逃していますか

答えて

0

シート内にformatconditionsをループする方法は実際にはあまりないので、少し複雑です。しかし、あなたは彼らのformatconditionsてspecialcellsをループして、ループすることができ、そこから掘る:

Sub test() 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets("Sheet1") 

    Dim rngCell As Range 
    Dim lng As Long 

    For Each rngCell In ws.Cells.SpecialCells(xlCellTypeAllFormatConditions).Cells 
     For lng = 1 To rngCell.FormatConditions.Count 
      On Error Resume Next 
      Debug.Print rngCell.FormatConditions(lng).Formula1, rngCell.FormatConditions(lng).AppliesTo.Address 
     Next lng 
    Next rngCell 
End Sub 

を私はdailydoseofexcel.comのブログでDick Kusleika's excellent post on this very subjectからspecialcells()アイデアを茹でました。

+0

私はかなり良いものであるディックKusleikaの記事を読んだ。これは厳しいものです。残念ながら、私が取り組んでいる条件付き書式はカラースケールです。これは別のオブジェクト(ColorScaleとFormatConditions)であるため、上のコードでは機能しません。私がそれに慣れると、ColorScaleで作業するようにコードを変換しようとするかもしれません。 – twgardner2

関連する問題