次の VBA 関数があります。
Function IndexOfColor(InRange As Range, ColorIndex As Long) As Excel.Range
Dim R As Range
Application.Volatile True
If IsValidColorIndex(ColorIndex) = False Then
IndexOfColor = 0
Exit Function
End If
For Each R In InRange.Cells
If R.Interior.ColorIndex = ColorIndex Then
IndexOfColor = R
Exit Function
End If
Next R
IndexOfColor = 0
End Function
私のExcelシートでは、これを次のように呼んでいます:
=IndexOfColor(D15:M24,37)
そして、常に取得し"#VALUE"
ます。関数を最後までデバッグしましたが、問題はありません。これは1つの結果を返すだけですが(範囲を見ていて、色付きのセルが1つしかありません)、これを配列の結果(CTRL-SHIFT-ENTER)にすることも試みました。
提案?