在VBA中创建号码前缀
我有几个版本号需要从中创建文件夹。因此,我们可以说 {4, 12, 534}
。由此,我需要创建可以相应排序的文件夹;
\004\..
\012\..
\534\..
因此,我需要的是获取最高的数字,然后查看每个文件夹名称需要多少个填充零,以便在创建它们后对它们进行正确的排序。
如何使用 VBA (Excel) 执行此操作?我尝试将它们转换为字符串,然后处理字符串操作,但这并没有完全解决。
我希望有人对此有个好主意......
I have several revision numbers I need to create folders from. So, lets say {4, 12, 534}
. From this, I need to create folders that can be sorted accordingly;
\004\..
\012\..
\534\..
So, what I need to is to get the highest number and then see, how many filling zeros I need for every foldername so they are sorted correct after creating them.
How can I do this using VBA (Excel)? I tried converting them to strings and then dealing around with String operations, but this didn't quite work out.
I hope someone has a nice idea for this...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方法是使用
Format
(或Format$
):使用
"000"
作为“格式字符串”告诉函数用前导填充零,而"###"
告诉它不要填充。函数版本之间的区别在于返回类型:Format
返回 Variant (String),而Format$
返回实际的 String。The simplest way is with
Format
(orFormat$
):Using
"000"
as the "format string" tells the function to pad with leading zeros, whereas"###"
tells it not to pad. The difference between the function versions is the return type:Format
returns a Variant (String), whileFormat$
returns an actual String.最容易预先计算最大值,然后再次循环并填充;
Easiest to precompute the max then loop again and pad;
我不确定为什么简单的字符串操作不起作用。
或者
I'm not sure why a simple string operation won't work out.
OR