我正在尝试制作一个宏来将包含 7 位数字的选定列更改为 9 位数字(2 个前导零)。我对vba一无所知。我正在努力学习,但术语非常广泛。与此同时,我一直在使用我在互联网上找到的代码来满足我的需求。例如,我用于选择的代码如下:
Sub SelectDn()
SelectDn Macro
Range(ActiveCell, ActiveCell.End(xlDown)).Select
End Sub
所以我用它来选择我想要格式化的数据。
我的同事对他们的 Excel 电子表格进行了大量手动操作以创建报告,我想让他们更轻松地完成这个过程。我知道这只是右键单击的问题,Format cells, Custom, 000000000
但希望以更少的步骤来完成。
有没有办法做到这一点?任何帮助,将不胜感激。
我试过这个:
Selection.NumberFormat = "000000000"
Selection.TextToColumns
我使用宏记录器并将 7 位数字格式化为 9 位数字。它生成的代码是:
Sub Macro14()
Selection.NumberFormat = "000000000"
End Sub
但是,当我再次尝试运行宏时,出现编译错误:预期的函数或变量,并且突出显示了 Selection.NumberFormat 中的“选择”一词。我想将号码从 9983743 更改为 009983743。
您可以使用 将一列引用到某个单元格EntireColumn
。这是您想要应用格式的地方,所以.....
Sub Digits()
Selection.EntireColumn.NumberFormat = "000000000"
End Sub
此外,.Selection
通常不是引用范围的最佳方式。还有其他更系统的方法可以引用目标列吗?如果是这样,我会考虑修改这个。也许InputBox
或预先编码您希望应用此格式的列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句