EXCEL>如何刷新单元格以应用新的单元格格式?

我在单元格中有一个值,比如123456789.12345 。 默认情况下,excel显示为123456789.1 。 我需要看逗号后的所有数字,所以我改变单元格格式为自定义> @

要应用此更改,我需要刷新单元格,例如select它并按F2 ,然后按Enter键。 但是如何将这个刷新应用于一个列或一个范围呢?

请尽可能不要使用VBA。

  • 以您想要的方式格式化第一个单元格。
  • 以正确的格式复制单元格。
  • select其他单元格。
  • 鼠标右键 – >select性粘贴(或Ctrl + Alt + V )。
  • select格式RadioBox。
  • 点击确定button。
  • Enter键

你可以加快这个过程:

没有VBA选项

select列并转到数据function区 ,然后单击文本到列

在这里输入图像说明

select分隔,然后单击下一步。

在这里输入图像说明

取消选中所有分隔符,然后单击下一步。

在这里输入图像说明

select文本选项,然后按完成

在这里输入图像说明

所有单元格的数字格式将会更新。

这个窍门有点破解,但是有用。 它所做的是从每一行取所有的值,然后自动重新input到单元格中。 出于这个原因,这个技巧将不适用于公式的单元格。 如果有公式,按F9应重新计算表格并更新数字格式。 但以我的经验,我没有公式的这个问题。

VBA选项

用这个代码创build一个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 

请记住,为了这个工作,你将需要一个名为Oval1_click的“button”,或者只是将代码添加到您创build的button。

说明:!

1:首先我们button点击开始代码

  Sub Oval1_Click() 

然后我们声明一个将被用作单元行的增量值的variables。

  Dim i As Integer i = 1 

只有当值不等于0时,我们才开始在A1中翻译的第1行第1列(a)中的循环。

  Do Until Cells(i, 1) = 0 

我们将@格式分配给所选行(A1)

  Cells(i, 1).NumberFormat = "@" 

我们select,按F2,然后按Enter,到那一行(A1)

  Cells(i, 1).Select SendKeys "{F2}", True SendKeys "{ENTER}", True 

我们增加我的价值,所以它可以改变行

  i = i + 1 

如果我们得到该列中的空单元格,我们完成循环和代码

  Loop End Sub 

这就是它。

  • select一列中的单元格并设置新的格式
  • 转到数据 – >文本到列,然后按完成

这应该刷新选定的单元格并应用新的格式。