【问题标题】:References to another sheet in worksheet created via macro对通过宏创建的工作表中的另一个工作表的引用
【发布时间】:2016-03-17 21:02:22
【问题描述】:

这里我有一些关于引用的问题。我有一个项目,我在其中创建了一些工作时间表。这是一个简单的日历,在一列中我有日期,并且该列中的每一行都有有关计划工作时间和实际工作时间的信息。我创建了一个工作簿,其中有配置数据和一些按钮来运行工作表创建过程。每个员工的工作表。所有公式均由宏注入。目标是用一些算法计算加班时间。要完成此操作,我需要检查:

  1. 每月的第一天检查上个月的最后一天是否为工作日;
  2. 如果下个月是工作日,则检查当月的最后一天是否为第一天;

所以我通过 vba worksheet.cell.formula 插入了一些公式。当公式引用上一张表时,它会正确计算。但是当我参考下一张表使用公式时,得到#ARG错误。但是如果我用这个公式选择单元格并按 Enter 键,它会正确计算。通过工作表名称和 cell.address 进行引用,但效果相同。

第一步是将 12 个工作表添加到 config Worksheet via

For arkusze = 1 To 12
    SheetName = miesiace(arkusze)
    Set wkbk = ThisWorkbook
    Set wks1 = ThisWorkbook.Worksheets.Add(After:=wkbk.Worksheets(wkbk.Worksheets.Count))
    wks1.Name = SheetName
Next arkusze

好的公式是:=daj50pr_new3(C" & dni + 5 & ":G" & dni + 5 & "," & wkbk.Worksheets(arkusze + 1).Cells(Day(pierw_dzien_mies - TimeValue("01:00:01")) + 5, 4).Address(External:=True) & ",D" & dni + 6)

不好的是:=daj50pr_new3(C" & dni + 5 & ":G" & dni + 5 & ",D" & dni + 4 & "," & wkbk.Worksheets(arkusze + 3).Cells(6, 4).Address(External:=True))

最后 12 张工作表通过
For Z = 3 To 14 wkbk.Worksheets(Z).Copy After:=wbNew.Sheets(wbNew.Sheets.Count) next Z

移至最终工作表

工作表正在使用 FileFormat:=52 保存。
如何解决这个问题?为什么引用下一张表会产生错误?

【问题讨论】:

  • 您是否在插入公式时在同一个宏中动态创建这些工作表?
  • 您能否在您的问题中显示代码的样子以及实际公式的样子。
  • 是的。同样的宏创建工作表并插入公式。
  • 第一步是通过For arkusze = 1 To 12 SheetName = miesiace(arkusze) Set wkbk = ThisWorkbook Set wks1 = ThisWorkbook.Worksheets.Add(After:=wkbk.Worksheets(wkbk.Worksheets.Count)) wks1.Name = SheetName Next arkusze向配置工作表添加12张工作表
  • 好的公式是:daj50pr_new3(C" & dni + 5 & ":G" & dni + 5 & "," & wkbk.Worksheets(arkusze + 1).Cells(Day(pierw_dzien_mies - TimeValue("01:00:01")) + 5, 4).Address(External:=True) & ",D" & dni + 6)

标签: vba excel macros excel-formula


【解决方案1】:

我想我解决了这个问题。我将参考下一张工作表的工作表移动到新工作表中。所以 sheet 引用了其他尚未移动的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多