[英]How to convert dynamic (structured) reference in Excel to fixed cell value?
[英]Convert automatically excel table formulas from explicit cell reference to structured cell reference?
我有一個帶有公式的excel表格,例如
=M9-C9*10-D9*10-C9*H9/100
我想將這些公式轉換為使用在公式中使用表格列名稱的結構化單元格引用,就像這個假公式:
=[Sales Amount]-[Profit]*10-[Costs]*10-[Profit]*[Risk]/100*10-[Capital]*[Gross]/100
有沒有辦法自動轉換所有顯式列名(M9)以使用結構化引用([銷售額])。
通過並手動執行它很容易出錯。
(有關對 Excel 表格使用結構化引用的信息)
編輯:您可以遍歷要替換的顯式單元格引用。 在玩這個之前,一定要備份你的文件!
Sub replaceformulas2()
Dim c As Object
For Each c In Selection.Cells
With c
.Formula = Replace(.Formula, "$", "") 'delete the cell-fixation
.Formula = Replace(.Formula, "E2", "Yourtable[Sales Amount]")
.Formula = Replace(.Formula, "F2", "Yourtable[Profit]")
' ...and so on
End With
Next c
End Sub
注意:
A10
或BA5
類的單元格,然后才能替換A1
或B5
類的單元格。 對於A1:A100
等范圍也是如此。Table1.UsedRange.Cells
或Table1.Range("A1:B100").Cells
東西,而不是Selection.Cells
Debug.Print .Formula
來概覽您擁有的所有不同公式A1
-標題的坐標A1
字符串,例如,將它們調整到第 9 行,就像您的示例一樣.Value
替換 to-replace 字符串的任何出現我知道這是不久前被問到的,但我剛剛解決了這個問題。 我想我會分享如何。
首先將您的數據轉換為表格。 (如果您願意,您可以創建多個表,但您隨后需要將表名指定為該序列更下方的引用的一部分)。
在單獨的工作表中,我創建了一個包含兩列的參考表,包括舊參考和新參考。 為了生成舊的引用,我使用了列的等式:
=SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")
然后將其連接到第一行的編號。
[感謝: https : //www.excelforum.com/excel-general/857983-how-to-return-the-column-letter-of-cell-reference.html]
對於第二列,我使用了copy and paste special; values; transpose
copy and paste special; values; transpose
從我想要創建結構化引用的表格標題copy and paste special; values; transpose
。
然后我從這里使用了宏Sub Multi_FindReplace()
: https : Sub Multi_FindReplace()
就是這樣。 完成第一行。 然后我可以填寫行來完成表格。
(注意,如果您有固定引用(即使用$
),那么您可能需要先刪除那些,因為結構化引用中不需要它們。如果您需要對表外位置的固定引用,您可以使用如果您不小心刪除了它們,請按照上述過程將它們放回原處。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.