簡體   English   中英

Excel宏代碼中活動公式上的運行時錯誤

[英]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.

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