sku*_*144 0 excel vba excel-vba
我说,单元格中有一个值123456789.12345。默认情况下,excel将其显示为123456789.1。我需要在逗号后查看所有数字,因此我将单元格格式更改为自定义> @
要应用此更改,我需要刷新单元格,例如选择它并按F2,然后按Enter。但是如何对列或范围应用此刷新?
如果可能,请不要使用VBA。
您可以加快执行此操作的速度:
没有VBA选项
选择该列,然后转到“ 数据”功能区,然后单击“ 文本到列”。
选择定界,然后单击下一步。
取消选中所有定界符,然后单击下一步。
选择文本选项,然后按完成
所有单元格的数字格式将更新。
这个技巧有点骇人听闻,但确实有效。它要做的是获取每一行中的所有值,然后将它们自动重新输入到单元格中。因此,此技巧不适用于作为公式的单元格。如果您有公式,请按F9键将重新计算工作表并更新数字格式。但是根据我的经验,公式还没有遇到这个问题。
VBA选项
只需使用以下代码创建VBA:
Sub Oval1_Click()
Dim i As Integer
i = 1
Do Until Cells(i, 1) = 0
Cells(i, 1).NumberFormat = "@"
Cells(i, 1).Select
SendKeys "{F2}", True
SendKeys "{ENTER}", True
i = i + 1
Loop
End Sub
Run Code Online (Sandbox Code Playgroud)
请记住,要执行此操作,您将需要一个名称为Oval1_click的“按钮”,或者只是将代码添加到您创建的按钮中。
说明:!
1:首先,我们在单击按钮时启动代码
Sub Oval1_Click()
Run Code Online (Sandbox Code Playgroud)
然后,我们声明一个变量,该变量将用作单元格行的增量值。
Dim i As Integer
i = 1
Run Code Online (Sandbox Code Playgroud)
仅当值不等于0时,我们才在第1行第1列(a)中转换为A1的循环。
Do Until Cells(i, 1) = 0
Run Code Online (Sandbox Code Playgroud)
我们将@格式分配给选定的行(A1)
Cells(i, 1).NumberFormat = "@"
Run Code Online (Sandbox Code Playgroud)
我们选择,按F2,然后按Enter,到该行(A1)
Cells(i, 1).Select
SendKeys "{F2}", True
SendKeys "{ENTER}", True
Run Code Online (Sandbox Code Playgroud)
我们增加我的价值,以便它可以改变行
i = i + 1
Run Code Online (Sandbox Code Playgroud)
如果到达该列中的空单元格,则完成循环和代码
Loop
End Sub
Run Code Online (Sandbox Code Playgroud)
就是这样。
| 归档时间: |
|
| 查看次数: |
7011 次 |
| 最近记录: |