วิธีแก้ไขอีกประการหนึ่งคือการสร้างสตริงที่มีอักขระทดแทนชั่วคราว จากนั้นคุณสามารถใช้ REPLACE เพื่อเปลี่ยนอักขระ temp แต่ละตัวเป็นเครื่องหมายคำพูดคู่ ฉันใช้เครื่องหมายทิลเดเป็นอักขระแทนชั่วคราว
นี่คือตัวอย่างจากโครงการที่ฉันกำลังดำเนินการอยู่ นี่เป็นรูทีนยูทิลิตี้เล็กน้อยในการซ่อมแซมสูตรที่ซับซ้อนมากหาก / เมื่อเซลล์ถูกเหยียบโดยไม่ได้ตั้งใจ มันเป็นสูตรที่ยากในการเข้าไปในเซลล์ แต่ยูทิลิตี้เล็ก ๆ นี้แก้ไขได้ทันที
Sub RepairFormula()
Dim FormulaString As String
FormulaString = "=MID(CELL(~filename~,$A$1),FIND(~[~,CELL(~filename~,$A$1))+1,FIND(~]~, CELL(~filename~,$A$1))-FIND(~[~,CELL(~filename~,$A$1))-1)"
FormulaString = Replace(FormulaString, Chr(126), Chr(34)) 'this replaces every instance of the tilde with a double quote.
Range("WorkbookFileName").Formula = FormulaString
นี่เป็นเพียงเคล็ดลับการเขียนโปรแกรมง่ายๆ แต่ทำให้การป้อนสูตรในโค้ด VBA ของคุณค่อนข้างง่าย