私はまだExcelのvbaに非常に慣れておらず、この問題を解決するのに困難に直面しています。誰かが私のコードがどこで間違っていたのかを教えてくれ、可能な限り単純化された解決策を提供してくれることを本当に望んでいます。どうもありがとう&本当に感謝します!
質問: ローンの申し込みは、顧客の収入に基づいて評価されます。For-Next関数とIFステートメントを使用して、次の承認ステータスを表示することになっています。
それぞれのステータスを持つ顧客の収入
60,000特別料金で承認します。>40,000標準レートで承認します。>24,000マネージャーの承認を待ちます。その他の場合申請を拒否する
Excelの2行目から、列Bには「顧客の収入」の数値が含まれ、Excelの列Cには「ローン申請状況」の数値が含まれています。
私のコードは次のようにうまく機能します:
Sub ForNext_If()
'CINCOME = Customer Income,Loan status= the application status, x = the row number, FinalRow= last row number
x = 2
For x = 2 To 11 Step 1
CINCOME = Cells(x, 2).Value
If CINCOME > 60000 Then
LOANSTATUS = "Approve with special rates"
ElseIf CINCOME > 40000 Then
LOANSTATUS = "Approve with standard rates"
ElseIf CINCOME > 24000 Then
LOANSTATUS = "Await manager's approval"
Else
LOANSTATUS = "Reject application"
End If
Cells(x, 4) = LOANSTATUS
Next
End Sub
しかし、呼び出し関数を使おうとすると、
Sub ForNext_If()
x = 2
For x = 2 To 11 Step 1
CINCOME = Cells(x, 2).Value
Call Calling
Cells(x, 4) = LOANSTATUS
Next
End Sub
Function Calling()
If CINCOME > 60000 Then
LOANSTATUS = "Approve with special rates"
ElseIf CINCOME > 40000 Then
LOANSTATUS = "Approve with standard rates"
ElseIf CINCOME > 24000 Then
LOANSTATUS = "Await manager's approval"
Else
LOANSTATUS = "Reject application"
End If
End Function
CINCOMEの値は、ローン申請ステータスを判別するための「呼び出し」関数に転送できなかったようです。T_T正確に何が問題だったのでしょうか。