基本上,我想更改 Excel 的默认行为的两个设置。
- 更改默认列宽
在 Excel 中,当前每个新的 Excel 实例的默认列宽均设置为“8.43”。
我需要更改此设置,并且我希望更改一次它然后将其应用于所有新的 Excel。
- 阻止 Excel 将大数字转换为指数数字
如果可以在 Excel 中设置一条一般规则,建议所有 Excel 实例不要将大数字转换为指数值。
更新-在这里我希望 Excel 接受用户输入的数据(而不是完全格式化)
对于第一个要求,我创建了一个模板Book.xltx
,并将其设置default Width
为 20,并将该模板保存到
C:\用户\\应用程序数据\漫游\微软\Excel\XLSTART
路径。但这似乎没有帮助。
更新
我找到了第一个问题的解决方案这里
我可以通过禁用 Excel 中的“开始”屏幕来解决此问题。
我遇到了完全相同的问题。你们之前的所有发帖者都没有说明你们的 Sheet.xltx 文件是否正常工作 - 我的正常工作。我会打开一个新工作簿,它会是愚蠢的默认工作表,但如果我添加一张工作表,它就会是我可爱的默认工作表。
无论我从开始屏幕选择“空白工作簿”还是随时按 ctrl-N,问题都是相同的。
但是,通过转到文件->选项
然后常规->启动选项->取消选中“此应用程序启动时显示开始屏幕”
现在它使用我可爱的模板。
但当我在 Excel 中打开 CSV 文件时,这不起作用如何为 CSV 启用它。
答案1
要更改默认列宽,并停止 Excel 在工作簿上将大数字转换为指数,我建议使用此 VBA(宏)代码。
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws
.Cells.ColumnWidth = 20
.Cells.NumberFormat = "0"
End With
Next ws
End Sub
怎么运行的:
- 按ALT+F11打开 VB 编辑器窗口。
- 在左上角找到项目浏览器,点击 本工作簿。
- 复制&粘贴此代码。
- 要查看效果
Close and Open
。Workbook
注意:
- 每次插入新工作表时,只需
Close & Open
即可Workbook
获得效果。
編輯:
您可以根据自己的选择将此代码Columns/Range
用于特定格式。
Sub formatColumns()
Columns(1).NumberFormat = "@"
Columns(2).NumberFormat = "General"
Columns(3).NumberFormat = "0"
Columns(4).NumberFormat = "dd/mm/yyyy"
Columns(5).ColumnWidth = 35
Columns(6).RowHeight = 20
End Sub
Or
Sheet1.Range("A2:E500").NumberFormat ="DD/MM/YYYY"
Sheet1.Range("A:E").NumberFormat = "dd/MM/yyyy"