根据活动工作表的名称动态更改Excel单元格值

时间:2014-01-09 02:22:36

标签: excel excel-vba vba

我在Excel文件中有5张,工作表名称为MainProductionOutflowInflowOptions

有没有办法在Options工作表中设置公式来引用我目前正在查看的工作表的名称?

因此,如果我正在查看生产工作表,它会将生产放入选项表的A1中,然后如果我单击查看流出工作表,它将更改选项表中的A1以显示流出。

尝试搜索但在任何地方找不到这样的东西。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

ThiwWorkbook模块中添加

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("Options").[a1] = Sh.Name
End Sub

将当前工作表名称放在名为选项

的工作表的单元格A1

答案 1 :(得分:1)

如果选择Options,假设您不希望发生任何事情,则以下子例程应该有效:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name <> "Options" Then
        ThisWorkbook.Sheets("Options").Range("A1") = Sh.Name
    End If
End Sub

如果您希望在选择Options工作表时仍显示Options,只需删除IF-THEN块。 :)

请务必将上述内容复制并粘贴到ThisWorkbook代码区。

如果有帮助,请告诉我们。