ここで何がうまくいかなかったのかを理解しようと懸命に努力してきました。文字列値を含む 2 つの列があります。ワークシートで 3 番目の列を使用して UDF を呼び出しますが、最終的に #Value をエラーで取得します - 「数式で使用されている値が間違ったデータ型です」。
例えば:
Col I Col J
File1 Y
File1 N
File2 Y
File3 N
私はそれをデバッグしようとしましたが、入力値は関数変数にうまく渡されました。VBA に関する私の知識は限られているため、この問題の解決に役立つことを願っています。
ワークシートで呼び出される関数:
=FileCheck(I3,I3:J38)
コード:
Public Function FileCheck(V As Range, Q As Range) As String
Dim vtest As Variant
Dim i, j, stat As Integer
stat = 0
vtest = Q
For i = 1 To UBound(vtest)
If V = vtest(i, 1) And vtest(i, 2) = "N" Then
For j = 1 To UBound(vtest)
If V = vtest(j, 1) And vtest(j, 2) = "Y" Then
FileCheck = "Y"
stat = 1
End If
Next
If stat = 0 Then
FileCheck = "N"
End
Else: End
End If
ElseIf V = vtest(i, 1) And vtest(i, 2) = "Y" Then
FileCheck = "Y"
End If
Next
End Function