我需要电子表格中的特定列来显示公式而不是结果值。它仍然需要被 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 解决方案。