2

タイトルは通常単純かもしれませんが、ネット上のいくつかのフォーラムで調査してもまだ解決策が得られませんでした.

問題を説明しましょう。

他のセルを参照する if 条件を使用する列がほとんどない Excel ワークブックがあります。セルの内容に基づいて、セルの背景色が定義されます。たとえば。セルが空白の場合、自動的に赤に変わります。これらの赤いセルは、情報が欠落していることを示します。そこで、これらの赤血球を識別して各赤血球のアドレスを取得するマクロを設計しようとしています。

このために、テスト用のコードを使用しました。MsgBox IIf(ActiveCell.Interior.ColorIndex = 3, "Yes", "No")

しかし、これはうまくいきません。その理由は、マクロが色に関係なく、カラー インデックスを -4142 として識別するためです。白、青、赤のいずれであっても、-4142 が表示されます。

フォーラムでこの質問をしたところ、このページにリダイレクトされました。

http://www.cpearson.com/excel/CFColors.htm

そのページに記載されている機能をテストしました。私が作成したサンプル ワークブックでは問題なく動作します。しかし、検証しようとしているワークブックにはありません。

手伝っていただけませんか?

4

1 に答える 1

5

Cのデフォルトの赤でいくつかのセルを作成した場合、次のように機能します。

Dim ws As Worksheet
Set ws = Sheets("sheet1")
Dim i As Integer
i = 1
Do Until i = 11
    If ws.Range("C" & i).Interior.Color = RGB(255, 0, 0) Then
        debug.print "C" & i & "  is red!!"
    End If
i = i + 1
Loop

ここに画像の説明を入力

編集:

これは、あなたの問題は と の組み合わせだとcolorindex = 3思いますactivecellIIf

于 2013-05-02T10:58:03.993 に答える