簡體   English   中英

如何從一個單元格中提取未評估的公式並在另一個單元格中對其進行評估?

[英]How do I pull an unevaluated formula from one cell and evaluate it in another?

我正在用Excel制作公式,我想輕松閱讀和修改公式。 但是,我仍然希望對公式進行評估。

到目前為止,我一直在一個單獨的單元格中重新創建公式並在那里進行評估。 這使我的工作容易出現錯別字或健忘等情況,並且通常會浪費時間。 我想使過程自動化。 我的第一個嘗試是在一個單元格(c2)中輸入公式(例如:a2 + b2),然后簡單地將第二個單元格讀取為c2。 但是,這只會使第二個單元格顯示“ a2 + b2”,而不進行評估。

如何命令第二個單元格使用第一個單元格中定義的公式?

首先該U SER d efined標准模塊F中結(UDF):

Public Function eval(strng As String) As Variant
   eval = Evaluate(strng)
End Function

然后選擇一個單元格並輸入:

=eval(C2)

在此處輸入圖片說明

用戶定義函數(UDF)易於安裝和使用:

  1. ALT-F11彈出VBE窗口
  2. ALT-I ALT-M打開一個新模塊
  3. 將內容粘貼並關閉VBE窗口

如果您保存工作簿,則UDF將隨之保存。 如果您在2003年以后使用Excel版本,則必須將文件另存為.xlsm而不是.xlsx

刪除UDF:

  1. 如上調出VBE窗口
  2. 清除代碼
  3. 關閉VBE窗口

要從Excel使用UDF:

= eval(A1)

要總體上了解有關宏的更多信息,請參見:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/zh-CN/library/ee814735(v=office.14).aspx

有關UDF的詳細信息,請參見:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必須啟用宏才能使其正常工作!

沒有VBA:

定義名稱說EvaC2與指的是:

=EVALUATE(Sheet1!$C$2)  

(調整工作表名稱以適合),然后輸入:

=EvaC2 

請注意,此XLM的剩余壽命可能很短。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM