[英]Run Time Error on Active formula in Excel Macro code
我想將工作表2的單元格A5的值用於工作表1中宏的活動公式。但是,我得到了一個
錯誤1004(應用程序定義或對象定義的錯誤)。
如果使用靜態值,例如100,而不是'Sheet 2'!A5
,它將正常工作。
下面是我的代碼:
ActiveCell.FormulaR1C1 = "=if('Sheet 2'!RC>'Sheet 2'!A5,""PASS"", ""FAIL"")"
您不能將xlA1單元格引用與xlR1C1單元格引用混合和匹配。 A5是xlR1C1語法中的R5C1。
ActiveCell.FormulaR1C1 = "=if('Sheet 2'!RC>'Sheet 2'!R5C1,""PASS"", ""FAIL"")"
現在,在此公式中,RC是相對於“工作表2”上相同單元格(活動工作表上的活動單元格處於啟用狀態)的相對行/相對列引用。 但是,“ Sheet 2”!R5C1引用將是絕對行/絕對列,如“ Sheet 2”!$ A $ 5。
如果您需要對“ Sheet 2”!A5的相對行/相對列引用,則需要使用.Formula而不是.FormulaR1C1並以xlA1方式引用活動單元的地址。
with ActiveCell
.Formula = "=if('Sheet 2'!" & .address(0, 0) & ">'Sheet 2'!A5,""PASS"", ""FAIL"")"
end with
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.