2014-01-09 71 views
0

我在Excel文件中有5个工作表,工作表名称为Main,Production,Outflow,Inflow,Options根据活动工作表名称动态更改Excel单元格值

有没有一种方法可以在Options工作表中设置公式以引用我当前正在查看的工作表的名称?

所以,如果我查看生产薄板它会把生产在选项表的A1,然后如果我点击查看外流片,它会改变A1在选项表显示外流。

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

+0

足够简单,但是当您查看“选项”时会发生什么? – Manhattan

+0

@ BK201仍然有效,因为本地工作表可以在公式中使用自己的工作表名称 – brettdj

+0

@brettdj:足够公平。不过,我认为OP在'Options'表中使用A1作为他想要显示的数据的参考。也许在'INDIRECT'公式中使用它。无论如何,发布一个答案。 – Manhattan

回答

1

假设你不希望任何事情发生,如果Options是片状的细胞A1选择,以下子程序应该工作:

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代码区域。

让我们知道这会有所帮助。

+0

约1秒:) – brettdj

+0

这工作非常感谢。 – Demas

1

ThiwWorkbook模块添加

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

这将给当前工作表的名称在一个叫选项

+0

+1:非常好的时机!几乎相同。 :D – Manhattan

相关问题