2016-08-08 19 views
-1

値が誤っている場合は、セルの色を変更するためにワークシートを条件付きで書式設定しました。これは、ユーザーが大量のデータを一度にワークシートに切り取り貼り付けることができるデータ検証用です。条件付き書式設定でセルを検索

最初のセルを見つけて条件付き書式を使用して次に次のセルに移動するためのマクロ(ボタンにリンクします)を書きたいと思います。これが最終的に不可能な場合は、条件付き書式を削除し、VBAでより簡単に検出できるようにマクロのセルの色を変更することができます。

私はActiveCell.DisplayFormat.Interior.Color <> 16777215

場合

を持つ任意の条件付き書式があるかどうかを検出することができますが、トラブルのfindサブに置くを持っています。

より具体的には、列A~AFは値を有し、条件に合致しない場合には赤色にフォーマットされる。検索ボタンを複製したいが、条件付き書式設定をしたい。誰にも何か提案がありますか?私は似たような質問を見たことがありますが、数や合計を求めているようですが、それは本当に必要なものではありません。前もって感謝します。

+1

Excel/VBAマクロの質問に[macros]タグを使用しないでください。そのタグ情報には特に、 '* MS-OFFICE/VBA /マクロ言語ではない。代わりにそれぞれのタグを使用してください。* ' –

+1

Alexに感謝します。私は謝罪し、今後これをタグとして含めません。 –

+0

@Matthew Ingle ...愚かな質問ですが、シートを見るだけで見つけることはできません、それは条件付き書式のためですか?今、あなたがすべてのそれらの細胞を配列に入れたいなら、あなたは助けを必要とするかもしれません。 – dinotom

答えて

0

Excelの[Go To Special]機能を使用します。

ホームリボンで、[検索と選択]> [特別に移動]をクリックします。

次に、[条件付き書式]オプションを選択します。 [OK]をクリックすると、条件付き書式のセルがすべて選択されます。

1

ここでは、条件付きで明るい赤色の背景でフォーマットされたセルアドレスの配列を返す関数です。目的に合わせて編集します。

Public Function FindConditionals() As Variant 
    Dim ws As Worksheet, cCell As Range, cntr As Integer 
    Dim formattedCells(100) As Variant ' I would used the number of cells in used range here 
    Set ws = ActiveSheet 
    cntr = 1 

    For Each cCell In ws.UsedRange 
     If cCell.DisplayFormat.Interior.Color = 13551615 Then ' put your own color in 
      formattedCells(cntr) = cCell.Address 
      cntr = cntr + 1 
     End If 
    Next cCell 
    FindConditionals = formattedCells 
End Function 
関連する問題