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 그게 효과가 있었고, 나는 정말 바보 같았습니다. 그것에 대해 생각하지 않았습니다. –