Excel 2013 能否仅在某些单元格中显示公式而不是值?

Excel 2013 能否仅在某些单元格中显示公式而不是值?

我需要电子表格中的特定列来显示公式而不是结果值。它仍然需要被 Excel 视为公式,但它只需要在单元格中显示公式而不是值。这意味着我无法将单元格格式转换为文本,因为 Excel 不会将其视为公式。我也只需要 1 列,因此在显示公式和显示结果/值之间切换也不是一种选择。因此,举个例子:

单元格 B3 = 11/11/13(短日期) 在单元格 F5 中我输入 =B3,因此单元格 F5 显示 11/11/13。

我希望单元格 F5 显示 =B3,但是其他单元格使用 F5 中的结果,因此它不能是文本格式。

我该如何做呢(最好不要使用 VB 代码,但如果这是唯一的方法,我会接受)

答案1

如果你有大量数据,你可以使用这个简单的 VBA 方法,我相信它能满足你的要求,或者至少能为你指明正确的方向。首先你无法显示公式并进行计算,除非复制单元格

如果您可以完成该部分,那么下一步就是手动复制每个单元格并将其显示为文本,或者使用如下所示的 VBA 方法为您完成。

我创建了这个子部分来向您展示如何获取单元格的公式属性:

Public Sub test()
Range("C1").NumberFormat = "@"
Range("C1").Value = Range("B1").Formula
End Sub

我只是将该公式作为文本放入侧栏中:

在此处输入图片描述

当然,您可以对此应用循环来遍历整个工作表。

实现所需目的的另一种方法是了解我的参数 Range("B1").formula 可以设置或检索。这意味着假设您可以反向执行此操作:

dim value as string
value = Range("B1").formula

..然后您可以在附加公式中使用变量值,以便同时显示和计算您的公式。

希望这对您有所帮助。

答案2

这是一个获取列中单元格的简单方法F包含公式以显示公式而不是值。运行这个简短的宏:

Sub ShowFormula()
   Dim DQ As String, mesage As String
   Dim rng As Range, r As Range
   DQ = Chr(34)
   Set rng = Range("F:F").Cells.SpecialCells(xlCellTypeFormulas)

   For Each r In rng
      mesage = DQ & r.Formula & DQ
      r.NumberFormat = mesage & ";" & mesage & ";" & mesage & ";"
   Next r
End Sub

例如:

在此处输入图片描述

解释:

无需使用虚拟专用网络,可以使用自定义格式完全覆盖单元格中值的显示,例如:

在此处输入图片描述

该宏具有类似的功能,但使用单元格的公式作为强制显示。

答案3

有一个名为 KuTools 的 Excel 插件,其“内容转换器”可以显示一系列单元格的公式。不过,我可能会采用已经概述的 VB 解决方案。

相关内容