首页 文章

excel中宏的公式中的下一个工作表引用

提问于
浏览
0

我试图在Excel中创建一个宏,生成/插入当前工作表的活动单元格中的公式 .

一般来说,公式应该简单

= A - B,

其中:

'A'是下一张纸的单元格D66(在一系列纸张中),和

'B'是下一张纸后下一张纸的单元格D67(因此活动纸张右侧有两张纸)

请注意,我希望宏在活动单元格中生成[= A - B]公式,而不仅仅是A - B的数值结果 .

此外,'next'和'next-next'标签的名称每天都会更改,这就是我需要根据它们相对于活动工作表而不是硬编码名称的位置来引用它们的原因 . 但是,相应选项卡中的实际单元格引用(D66和D67)不会更改 .

非常感谢你能给予的任何帮助

1 回答

  • 1

    非常简单:
    Sub FormulaMaker()
    Dim sh As Worksheet,namee As String
    设置sh = ActiveSheet.Next
    namee = sh.Name&“!”
    ActiveCell.Formula =“=”&namee&“D66-”&namee&“D67”
    结束子
    Note:

    如果活动工作表是最后一个工作表,则会失败 .

    Edit#1:

    根据Siddharth Rout的评论,这是更正:

    Sub FormulaMaker()
        Dim sh As Worksheet, namee As String
        Dim sh2 As Worksheet, namee2 As String
        Set sh = ActiveSheet.Next
        Set sh2 = sh.Next
        namee = sh.Name & "!"
        namee2 = sh2.Name & "!"
        ActiveCell.Formula = "=" & namee & "D66-" & namee2 & "D67"
    End Sub
    

    如果隐藏后续工作表,这种简单方法将不起作用

相关问题