我需要将“ 342.21”转换为带有多个前导零的34221。预期的最终结果将是0000000000034221。我应该在vba中使用哪种特定的格式或代码来获取此信息?
我正在尝试使用vba将excel文件转换为文本文件。最终结果的字段长度固定为16位,“数字列”的长度可能有所不同。希望你能帮助我。
非常感谢您。
答案 0 :(得分:3)
您提到一个字符串:
=RIGHT("0000000000000000"&SUBSTITUTE(B1,".",""),16)
将生成一个字符串,该字符串将在0
s中导出到csv中
答案 1 :(得分:2)
使用
ActiveSheet.Range("A1").NumberFormat = "@"
ActiveSheet.Range("A1").Value = Format(ActiveSheet.Range("A1").Value * 100,"0000000000000000")
答案 2 :(得分:2)
由于您要转换为字符串,因此我们可以将您的数字值视为字符串。
假设您的电话号码存储在变量num
中:
outputnumber = String(16 - (Len(num) - 1), "0") & Replace(num, ".", "")
答案 3 :(得分:1)
您可以使用“自定义格式”类型:0000000000000000
(即16个零)
然后在单元格中,假设=A1*100
有A1
,可以进行342.21
。
(编辑:对不起,错过了VBA标记。上面的内容不使用VBA)。
答案 4 :(得分:0)
所以我尝试了一个简化的代码:
Amount = (.Cells(iRow,6)) - where I store my values
Amount = Format(Amount*100, "0000000000000000")
非常感谢您的帮助! :)