-1

Excel(VBA)で文字列のドットの前の文字数を取得するにはどうすればよいですか?

例えば:

213123.2321321 は 6 になり、33.2312312 は 2 になります。

コードの動作を変更する必要があり、これはかなり簡単に実行できるはずです。

より詳しい情報:

私がやりたいことはこれです:

  • 123.123 なら 0.123123 にしたい
  • 1.23123なら0.0123123にしたい
  • 4 桁の場合は 1111.123123、1.111123123
4

1 に答える 1

1

を使用Intして数値の整数部分を取得し、 を使用Lenして桁数を数えることができます。

実際の例:

Function ChangeNumber(n As Double)
    Select Case VBA.Len(Int(n))
        Case 1: ChangeNumber = n / 100
        Case 2, 3, 4: ChangeNumber = n / 1000
        Case Is > 4: ChangeNumber = n / 10000
    End Select
End Function

Sub Test()
    Debug.Print ChangeNumber(123.123) //Prints 0.123123
    Debug.Print ChangeNumber(1.23123) //Prints 0.0123123
    Debug.Print ChangeNumber(1111.123123) //Prints 1.111123123
End Sub

必要に応じてステートメントを修正できCaseます。つまり、100、1000、10000 で割るか、または任意の値で割るかを指定できます。

于 2013-10-01T14:02:37.557 に答える