簡體   English   中英

使用宏Excel 2007將第一張紙的名字放到公式中時出錯

[英]error on getting the name of first sheet into the formula using macro excel 2007

我嘗試使用Excel 2007中的以下代碼,它會生成運行時錯誤1004。我嘗試使用其他方法來解決,但無法解決。 因為我的第一個工作表都被命名為不同的名稱,所以需要幫助解決錯誤。

   Dim shtName As String
   shtName = ActiveWorkbook.Worksheets(1).Name
   Worksheets(2).Range("F2").Formula = "=AVERAGEIFS(&shtName!E:E,&shtName!A:A,"">="" & A2,&shtName!A:A,""<"" & B2)"

您需要在公式中插入shtName變量的值,而不是變量名本身:

Dim shtName As String
shtName = ActiveWorkbook.Worksheets(1).Name
Worksheets(2).Range("F2").Formula = "=AVERAGEIFS('" & shtName & "'!E:E,'" & shtName & "'!A:A,"">="" & A2,'" & shtName & "'!A:A,""<"" & B2)"

(通常,將工作表名稱用單引號引起來是一個好主意,以避免在名稱中包含空格等問題。)

您應該通過將變量放在“”標記之外來將其與字符串分離。

所以應該是

Dim shtName As String
shtName = ActiveWorkbook.Worksheets(1).Name
Worksheets(2).Range("F2").Formula = "=AVERAGEIFS(" & shtName & "!E:E," & shtName & "!A:A,"">="" & A2," & shtName & "!A:A,""<"" & B2)"

暫無
暫無

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

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