◆◆MS-Excel2000スキルアップ講座/VBA編◆◆

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