我有一個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