我正在尝试制作一个宏,以将包含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中的单词“ Selection”突出显示。我希望数字从9937743更改为009983743。
答案 0 :(得分:0)
您可以使用EntireColumn
引用某个单元格的列。这是您要在其中应用格式的地方.....
Sub Digits()
Selection.EntireColumn.NumberFormat = "000000000"
End Sub
此外,.Selection
通常也不是引用范围的最佳方法。还有其他一些更系统的方式可以引用目标列吗?如果是这样,我会考虑对此进行修改。也许InputBox
或预编码您希望采用此格式的列。