Dim Euro1 As String
をあなたはString
としてEuro1
を宣言しています。文字列は、VBAでプリミティブ型であり、プリミティブ型は、このことを意味し、あなたが呼び出すことができるメンバーを持っていない:
Debug.Print Euro1.Value
は違法です。
あなたはString
を持っている場合は、単にそのように使用することができます。
ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1
これは間違いなくかかわらず、他の問題が発生します:あなたはユーザー入力の検証をよく読んでする必要があります。ユーザーの入力を体系的に有効に扱うコードでは、常に問題が発生します。ここではExcelが=RC[-1]*Hi There I'm some invalid input
の値を計算できないのを見ています。
組み込み関数IsNumeric
を使用して、文字列を数字として扱うことができるかどうかを判断することを検討してください。
If IsNumeric(Euro1) Then
ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1
Else
MsgBox "Invalid input!"
End If
'.Value'部分を削除します。 – braX
ありがとう@braXそれは働いた、私は本当に愚かです、それについて考えていない –