我有一个Excel文件,其中包含多个工作表。在每个“A1”单元中,我将公式保存为文本格式:将单元格转换为替换公式
%= TR('Sheet 1'!C1;'Sheet 1'!$ F $ 1:$ F $ 5;“Frq = D $ SD $ =#1 EDate =#2 Curn = EUR CH = Fd“; $ B $ 1;'Sheet 1'!$ D $ 1;'Sheet 1'!$ E $ 1)
我将它们保存为这种格式因为公式允许通过插件(xlam)连接到数据库(Thomson Reuters Eikon)并用于从此数据库检索数据。如果我将它们全部放入没有%字符的文件中,它们会立刻被执行并且文件崩溃。所以我想写VBA,它将每个表格中的字符(%
)逐个删除,因此等待1或2分钟,直到上一张表格中的公式检索到数据。我尝试了几种方法,但都没有工作。
首先,我试图用这个代码替换字符:
Dim SearchValue As String
Dim NewValue As String
SearchValue = "%"
NewValue = ""
Selection.Replace What:=SearchValue, Replacement:=NewValue,
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
和验证码:
Range("B1").Replace "%", ""
但如果我所说的查找和替换框,然后按那就只手动按钮。
Application.Dialogs(xlDialogFormulaReplace).Show "%", ""
如何使用宏来运动查找和替换框?我尝试了在TR('Sheet 1'!C1;'Sheet 1'!$ F $ 1:$ F $ 5;“Frq = D SDate =#1 EDate =#”)中加入“=”来生成公式。 2 Curn = EUR CH = FD“; $ B $ 1; '表1' $ d $ 1; '表1' $ E $ 1)所示:!
myformula = Cells(1, 1).Value
Range("B1").Select
ActiveCell.Formula = "=" & myformula
我失败要么...
!是否有其他可能性来替代%
角色?
谢谢,我会尝试一下,并在稍后报告成功。 – In777
不幸的是,它没有奏效。我使用'Sheets(“Sheet1”)。Cells(1,1).Formula = Replace(Sheets(“Sheet1”)。Cells(1,1).Value,Chr(37),vbNullString)'我得到了“Runtime错误1004“。 – In777
配方有问题。我用一个更简单的公式(例如'%= SUM(B2:B4)')测试了它,它按预期工作。如果公式有效,那么公式的复杂性应该没有差别。除非预期这是一个数组公式。 – Jeeped