將範圍變量傳遞給 Excel 宏中的公式 (Passing Range Variable into formula in Excel Macro)


問題描述

將範圍變量傳遞給 Excel 宏中的公式 (Passing Range Variable into formula in Excel Macro)

Im trying to use variables in macro formulas to avoid selecting cells, however i keep getting an error.

Here is a simplification of what im trying to do:

    Dim myRange as Range
    Dim formulaCell as Range

    Set myRange = [a1:a10]
    formulaCell.Formula = "=sum(myRange)"

However i keep getting:

"application-defined or object defined error"

I have tried using:

formulaCell.Formula = "=sum(" & myRange & ")"

but then i get:

Type mismatch

Also tried:

formulaCell.Formula = "=sum(" & Range(myRange) & ")"

to no avail

Im sure the answer is very basic but cannot work out what i am doing wrong. Any and all help would be greatly appreciated.


參考解法

方法 1:

First you must set formulaCell to refer to a Range. Then use next string instead of yours

formulaCell.Formula = "=sum(" & myRange.Address & ")"

(by BiGXEROKopBuH)

參考文件

  1. Passing Range Variable into formula in Excel Macro (CC BY-SA 3.0/4.0)

#excel-2007 #excel #vba






相關問題

Excel 2007 - 捕獲打開命令欄按鈕事件 (Excel 2007 - Catch open command bar button event)

將範圍變量傳遞給 Excel 宏中的公式 (Passing Range Variable into formula in Excel Macro)

Formula CONCATENATE (CONCATENATE formulas)

如何使用coldfusion創建xlsx文件 (how to create xlsx files using coldfusion)

Excel匹配兩列並輸出第三個 (Excel match two columns and output third)

Excel 無法將工作表插入到目標工作簿中,因為它包含的行數和 (Excel cannot insert the sheets into the destination workbook, because it contains fewer rows and)

使用多個條件的條件格式 - Excel 2007 (Conditional Formatting using multiple conditions - Excel 2007)

從另一個 Excel 文件更新圖表 (Update chart form another Excel file)

VBA 名稱屬性是否區分大小寫 (Is VBA name property is case sensitive)

將 A1 公式和數組轉換為 L1C1 公式,反之亦然 (convert A1 formula and Array into L1C1 formula and vice-versa)

如何在excel中獲得所需的輸出? (How to get the required output in excel?)

查找包含數字的行中的第一個單元格? (Find first cell in a row that contains a number?)







留言討論