Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel,如何将显示为常量的文本字符串更改为真正的公式?_Excel_Vba_Excel Formula - Fatal编程技术网

Excel,如何将显示为常量的文本字符串更改为真正的公式?

Excel,如何将显示为常量的文本字符串更改为真正的公式?,excel,vba,excel-formula,Excel,Vba,Excel Formula,我使用另一个公式修改了一些excel公式,完成后,我复制并粘贴特殊内容以覆盖原始范围。但它们现在表现为不变。我必须手动点击F2,然后返回键,才能得到该值 以下是一个例子: A2最初的公式是=IF(ISNUMBER(B2),B2,0) 然后,我使用一个自定义函数将公式A2提取为文本字符串,以便将其修改为=B2 现在我复制并粘贴结果到A列,粘贴特殊公式 A2现在显示为=B2字符串/常量,而不是单元格B2的实际值 在我点击F2和Enter之后,A2现在解析出B2的真实值 如何在不手动执行此操作的情

我使用另一个公式修改了一些excel公式,完成后,我复制并粘贴特殊内容以覆盖原始范围。但它们现在表现为不变。我必须手动点击
F2
,然后
返回键
,才能得到该值

以下是一个例子:

  • A2最初的公式是
    =IF(ISNUMBER(B2),B2,0)
  • 然后,我使用一个自定义函数将公式A2提取为文本字符串,以便将其修改为
    =B2
  • 现在我复制并粘贴结果到A列,粘贴特殊公式
  • A2现在显示为
    =B2
    字符串/常量,而不是单元格B2的实际值
  • 在我点击
    F2
    Enter
    之后,A2现在解析出B2的真实值
如何在不手动执行此操作的情况下修复此问题?有成千上万排


谢谢。

您能检查一下计算选项是否设置为自动或手动吗。如果未设置为自动,则将其设置为自动


您可以检查计算选项是否设置为自动或手动。如果未设置为自动,则将其设置为自动


我使用编辑菜单中的查找/替换来执行此操作,选择相关单元格,例如查找“(B2)”并替换为“(C2)”


加快计算速度的一种方法是将“=if”替换为“xyxyif”以停止重新计算,然后在准备就绪后将“xyxy”替换为“=”…

我使用编辑菜单中的查找/替换来执行此操作,选择相关单元格,例如查找“(B2)”并替换为“(C2)”


加快计算速度的一种方法是将“=if”替换为“XYIF”以停止重新计算,然后在准备就绪后将“xyxy”替换为“=”..

选择列A中的任何单元格或选择整个列并尝试以下操作:

使用VBA:

Sub test()

' If you know the range, just change "Selection" with the actual range or column

With Selection

    With .EntireColumn

    .TextToColumns , DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True

    End With

End With

End Sub

选择列A中的任意单元格或选择整个列,然后尝试以下操作:

使用VBA:

Sub test()

' If you know the range, just change "Selection" with the actual range or column

With Selection

    With .EntireColumn

    .TextToColumns , DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True

    End With

End With

End Sub

它很有效!虽然不是最复杂的解决方案,但效果非常好。我所做的是——突出显示有问题的单元格/区域(幸运的是,这是在一个专栏中,而不是四处传播)-搜索并替换突出显示范围内的所有
=
字符串,如
xxyytzz
-搜索并替换所有
xxyytzz
,返回到
=
-Baaam!完成了!它工作了!不是最复杂的解决方案,但工作非常完美。我所做的是-突出显示相关单元格/区域(幸运的是,这是在一列中,没有分散)-搜索并替换突出显示范围内的所有
=
,使用类似
xxyytzz
的字符串-搜索并替换所有
xxyytzz
返回
=
-baam!全部完成!