p(ピコ)、M(メガ)、μ(マイクロ)を指数表示する |
p(ピコ)、M(メガ)、μ(マイクロ)などの単位を入力すると、自動的に指数に変換する方法を説明しています。 例えばセルに「64.450p]と入れると自動的に「64.45*10-9」と表示します。 |
表示形式まで配慮してませんので形式は“指数”にした方がいいでしょう。 こちらはメインのプロシージャです。 Sub InputValueAndUnit(ByVal Target As Excel.Range) Dim leng As Integer Dim Val As Double leng = Len(Target.Value) If IsNumeric(Left(Target.Value, leng - 1)) = True Then Val = Left(Target.Value, leng - 1) Select Case Right(Target.Value, 1) Case "p": Target.Formula = "=" & Val & "*10^-12" Case "n": Target.Formula = "=" & Val & "*10^-9" Case "u": Target.Formula = "=" & Val & "*10^-6" Case "m": Target.Formula = "=" & Val & "*10^-3" Case "K","k": Target.Formula = "=" & Val & "*10^3" Case "M": Target.Formula = "=" & Val & "*10^6" Case "G": Target.Formula = "=" & Val & "*10^9" Case "T": Target.Formula = "=" & Val & "*10^12" End Select End If End Sub ワークシートチェンジイベントを利用しますので、使用するワークシートに下 記コードをセットします。 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Call InputValueAndUnit(Target) End Sub |