我正在尝试将公式复制并粘贴到特定范围的单元格中。我具有的公式(如下所示)需要根据源工作簿中的单元格内容进行更新。某些上下文,下面的宏所在的excel文件由源工作簿中的宏打开(源单元格内容所在的位置)。
在这种情况下,源单元格将更新'May2017'。
Sub PullPUProj()
Range("D18:D104").Formula = "=IFERROR(OFFSET('[Athens_OperatingProjection_May2017.xlsx]Budget Detail'!$A$7,MATCH($A16,'[Athens_OperatingProjection_May2017.xlsx]Budget Detail'!$A$8:$A$284,0),MATCH('[Athens_OperatingProjection_May2017.xlsx]Budget Detail'!$BK$7,'[Athens_OperatingProjection_May2017.xlsx]Budget Detail'!$B$7:$CP$7,0)),0)"
End Sub
非常感谢任何帮助或参考!
答案 0 :(得分:1)
让我们说单元格A1
包含您要使用的文字来代替" May2017"。您可以通过关闭""
并添加& [variable] & "
来重新打开公式来拆分公式。
Range("D18:D104").Formula = "=IFERROR(OFFSET('[Athens_OperatingProjection_" & A1 & ".xlsx]Budget Detail'!$A$7,MATCH($A16,'[Athens_OperatingProjection_" & A1 & ".xlsx]Budget Detail'!$A$8:$A$284,0),MATCH('[Athens_OperatingProjection_" & A1 & ".xlsx]Budget Detail'!$BK$7,'[Athens_OperatingProjection_" & A1 & ".xlsx]Budget Detail'!$B$7:$CP$7,0)),0)"
注意:如果您想要拖动该公式但保留对A1
的引用(A1
),则可能需要将$A$1
引用设为绝对值。
答案 1 :(得分:1)
假设单元格A1有字符串,那么你可以尝试这个......
Range("D18:D104").Formula = "=IFERROR(OFFSET('[Athens_OperatingProjection_" & Range("A1").Value & ".xlsx]Budget Detail'!$A$7,MATCH($A16,'[Athens_OperatingProjection_" & Range("A1").Value & ".xlsx]Budget Detail'!$A$8:$A$284,0),MATCH('[Athens_OperatingProjection_" & Range("A1").Value & ".xlsx]Budget Detail'!$BK$7,'[Athens_OperatingProjection_" & Range("A1").Value & ".xlsx]Budget Detail'!$B$7:$CP$7,0)),0)"
答案 2 :(得分:0)
与其他人的建议类似,但有两处变化。 1)不要直接在公式中引用Cell,而是在其外部定义您想要的内容。这样,如果你决定从Cell A1中移动它,你只需要更新一个部分。 2)还包括工作表名称。如果可以从其他工作表执行宏,则可能会产生意外错误,因为它无法找到所需内容。
Month = Sheets("Budget Detail").Range("A1")
Range("D18:D104").Formula = "=IFERROR(OFFSET('[Athens_OperatingProjection_" & Month & ".xlsx]Budget Detail'!$A$7,MATCH($A16,'[Athens_OperatingProjection_" & Month & ".xlsx]Budget Detail'!$A$8:$A$284,0),MATCH('[Athens_OperatingProjection_" & Month & ".xlsx]Budget Detail'!$BK$7,'[Athens_OperatingProjection_" & Month & ".xlsx]Budget Detail'!$B$7:$CP$7,0)),0)"