|
こんにちは。かみちゃん です。
横から失礼します。
>このコードでは、Application.Inputboxを
>キャンセルした場合→
>金利が0になり全て無金利扱いになってしまいます。
>金利の数字を入れずにOKを押した場合→
>エラーが発生します。
>キャンセルないしは数字を入れない場合は、Exitさせ、更に
>「金利を入力してください」と表示させる方法を教えてください。
>
>また金利の入力した場合、「その金利で間違い無いですか」を付け加える
>方法も別途明示するコードを教えてください。
>
>また、シート1以外に金利計算が出来るようにさせたいのです。
>そのためにFor i= 2 To Sheets.Count にしていますがもっと
>確実な方法(コード)を表現する方法がありましたら、教えてください。
以下のような感じでいかがでしょうか?
InputBoxメソッドのヘルプを参照していただきたいのですが、戻り値は、引数
Typeを明示的に指定しない限り、文字列となります。
そのため、戻り値用変数を
Dim Kinri As Single
のように宣言していると、キャンセルしたとき、数値以外が入力されたときなど
に「型が一致しません」というエラーになるかと思います。
Sub Kinri_Change()
'台帳の金利変更
Dim ws As Worksheet
Dim strKinri As String
Do While True
strKinri = Application.InputBox("金利を変更します" & Chr(13) & "新金利を入力してください" & Chr(13) & _
"例:「0.02」入力は…2%を示します ", "金利変更")
If Val(strKinri) = 0 Then
MsgBox "金利を入力してください"
Else
If MsgBox("その金利で間違い無いですか " & strKinri, vbYesNo) = vbYes Then
Exit Do
End If
End If
Loop
For Each ws In Worksheets
ws.Range("H3").Value = Val(strKinri)
Next
End Sub
|
|