Excel(VBA)で文字列のドットの前の文字数を取得するにはどうすればよいですか?
例えば:
213123.2321321 は 6 になり、33.2312312 は 2 になります。
コードの動作を変更する必要があり、これはかなり簡単に実行できるはずです。
より詳しい情報:
私がやりたいことはこれです:
- 123.123 なら 0.123123 にしたい
- 1.23123なら0.0123123にしたい
- 4 桁の場合は 1111.123123、1.111123123
を使用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 で割るか、または任意の値で割るかを指定できます。