如何将选定的单元格(列)格式化为9位数字

时间:2019-02-09 20:04:01

标签: excel vba

我正在尝试制作一个宏,以将包含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。

1 个答案:

答案 0 :(得分:0)

您可以使用EntireColumn引用某个单元格的列。这是您要在其中应用格式的地方.....

Sub Digits()

    Selection.EntireColumn.NumberFormat = "000000000"

End Sub

此外,.Selection通常也不是引用范围的最佳方法。还有其他一些更系统的方式可以引用目标列吗?如果是这样,我会考虑对此进行修改。也许InputBox或预编码您希望采用此格式的列。