ここは新しいです。もし私が間違っていたら、私が間違いをして、誰かが私に指示をくれたことを感謝するなら、私を許してください。Excel UDF - 別のワークブックシートを参照するときに#Valueエラーが発生する
私の問題は、YEAR & NAMEと現在のワークブックを一致させることによって、別のブックブックから提案書を提出するUDFを作成することに関連しています。現在のコードは#VALUEエラーを返します。
Function ProposalNo(BorrowerName As String, Year As String) As String
Dim PropNo As String
Dim BorrowerName As String
Dim Year As String
Dim CMISPath As String
Dim wb As Workbook
Dim sht As Worksheet
Dim Match As Double
CMISPath = "C:\Users\15169\Desktop\Data Dump\CMIS\SME- CMIS.xlsb"
Set wb = Workbooks.Open(CMISPath)
Set sht = wb.Worksheets("Sheet1")
LastRow = wb.Worksheets(1).Cells(sht.Rows.Count, "A").End(xlUp).Row
For i = 2 To LastRow
If (JW(Trim(UCase(CStr(BorrowerName))), Trim(UCase(sht.Cells(i, 11).Value))) >= 0.85 And CStr(Year) = CStr(sht.Cells(i, 10).Value)) Then
PropNo = sht.Cells(i, 1)
End If
Next
ProposalNo = PropNo
End Function
JWは、パーセンテージマッチ機能を使用して借り手の名前と基本的に一致しようとする別の機能です。 #VALUEエラーはSet sht = wb.Worksheets("Sheet1")
のために発生します。シートの詳細を割り当てる別の関数を作成しようとしましたが、うまくいきませんでした。誰かが私にいくつかの指針を与えることができれば、私は感謝します。
私の答えはこちらを参照してください。 –
行を追加:wsを設定する行の下に、wsを設定する前にMsgBox wb.Nameを追加します。それが「SME-CMIS」以外のものを与えるなら、あなたはそれがワークブックの設定にあることを知っています。トラブルシューティングのために、機能をサブに変更し、トラブルラインが成功するかどうかを確認することもできます。 – SandPiper