在VBA格式函数中指定可变长度

时间:2015-02-05 03:20:55

标签: vba

我知道还有其他方法可以做到这一点,我只是想知道是否有内置(或至少是优雅)的方法。

例如,Format(123, "00000")会生成字符串00123。 你如何使前导零的数量变化? MSDN page似乎没有提供任何简单的方法来执行此操作。

在C中,可以按如下方式完成

char * output; // allocated somewhere
int width = 5;
int number = 123;

sprintf(output, "%0*d", width, number);

(在这种情况下output00123,更改width将更改前导零的数量

1 个答案:

答案 0 :(得分:3)

您可以使用string()功能复制0 s

的数量
Sub formatTest()

    req_format = String(5, "0")
    result = Format(123, req_format)

End Sub

在一行代码result = Format(123, String(5, "0"))