如何在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 或您选择的任何值。