小弟有個vba問題卡了很久,希望大神能夠指教下:
單元格中的有公式,例如:“=sum('[book1.xlsx]sheet1'!X18, '[book2.xlsx]sheet2'!A67)”。如何依此提取出公式中的參考,如第一次提取出'[book1.xlsx]sheet1'!X18,通過某種方法將本參考替換成'[book5.xlsx]sheet1'!A1,然后再將替換后的值賦值給原公式的原位置,最后結果變成“=sum('[book5.xlsx]sheet1'!A1, '[book2.xlsx]sheet2'!A67)”
注:單元格中的公式所用的方法不確定,可能為sum,也可能為+ 、- 、*、N、()*-1等等
uj5u.com熱心網友回復:
Sub Macro1()
'定位改為你實際的單元'
Range("A1").Select
'替換'
ActiveCell.Formula = Replace(ActiveCell.Formula, "'[book1.xlsx]sheet1'!X18", "'[book5.xlsx]sheet1'!A1")
'除錯驗證'
Debug.Print ActiveCell.Formula
End Sub
uj5u.com熱心網友回復:
非常感謝!還有個問題想請教一下,怎么能把這個公式中的參考依此提取出來呢?
uj5u.com熱心網友回復:
沒有現成的方法。需要自己對公式進行決議。
uj5u.com熱心網友回復:
這個有一部分的可能。
range有一個DirectPrecedents屬性,能找到在同一個sheet中的單元格,可惜對于跨作業表的參考無能為力......
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/62434.html
標籤:VBA
上一篇:如何識別文本框的輸入法狀態的改變
