代码之家  ›  专栏  ›  技术社区  ›  Sathya Prakash

使用宏excel 2007将第一张图纸的名称输入公式时出错

  •  0
  • Sathya Prakash  · 技术社区  · 7 年前

    我在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)"
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   YowE3K    7 年前

    您需要插入 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)"
    

    (通常最好将图纸名称用单引号括起来,以避免名称中包含空格等问题。)

        2
  •  0
  •   YowE3K    7 年前

    您应该将变量从字符串中分离出来,方法是将它们放在“”标记之外。

    所以应该是这样的

    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)"