#3,5です。
結局、最初の変換のxlRelativeが余計なだけだったようです ^^;;
このパターンは最初に試したんですが
別のポイントで詰まって泥沼にハマっていました。
以下、修正版です。
●FCcheck1(【対象セル】,【対象条件】)
【対象セル】の【対象条件】番目の真偽に応じて、TRUE/FALSEを返す
'=====↓ ココカラ ↓================================================
Function FCcheck1(ByVal myCel As Range, ByVal myIdx As Long) As Boolean
Dim myFml As String
With myCel.FormatConditions
If .Count < myIdx Then Exit Function
If .Item(myIdx).Type <> xlExpression Then Exit Function
myFml = .Item(myIdx).Formula1
myFml = Application.ConvertFormula(myFml, xlA1, xlR1C1)
myFml = Application.ConvertFormula(myFml, xlR1C1, xlA1, xlAbsolute, myCel)
FCcheck1 = Evaluate(myFml)
End With
End Function
'=====↑ ココマデ ↑================================================
●FCcheck2(【対象セル】,【対象条件】)
【対象セル】の【対象条件】番目の真偽に応じて、セルの値を返す
'=====↓ ココカラ ↓================================================
Function FCcheck2(ByVal myCel As Range, ByVal myIdx As Long) As Variant
Dim myFml As String
FCcheck2 = ""
With myCel.FormatConditions
If .Count < myIdx Then Exit Function
If .Item(myIdx).Type <> xlExpression Then Exit Function
myFml = .Item(myIdx).Formula1
myFml = Application.ConvertFormula(myFml, xlA1, xlR1C1)
myFml = Application.ConvertFormula(myFml, xlR1C1, xlA1, xlAbsolute, myCel)
If Evaluate(myFml) Then FCcheck2 = myCel.Value
End With
End Function
'=====↑ ココマデ ↑================================================
以上ご参考まで。
お礼
ありがとうございます。 会社のPCで参考にしながら書いたらうまくいきました! 手元に資料がないのですが、 ・対象セルの条件付書式をカウントして0だったら GoToxx ・条件付書式がセルに対象されていたら Evaluateで条件付書式の式の True/Falseを判定 ・Trueだったら対象セルをアンケート集計用紙Workbookにコピーする というようなかんじです。 私が集計表つくります!といったもののどうせ出来ないんでしょ、と思われて たみたいで、出来上がってほっとしました。 ありがとうございました。