-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 回答