我在Excel文件中有5个工作表,工作表名称为Main
,Production
,Outflow
,Inflow
,Options
。根据活动工作表名称动态更改Excel单元格值
有没有一种方法可以在Options
工作表中设置公式以引用我当前正在查看的工作表的名称?
所以,如果我查看生产薄板它会把生产在选项表的A1,然后如果我点击查看外流片,它会改变A1在选项表显示外流。
尝试搜索,但在任何地方都找不到像这样的东西。谢谢你的帮助。
我在Excel文件中有5个工作表,工作表名称为Main
,Production
,Outflow
,Inflow
,Options
。根据活动工作表名称动态更改Excel单元格值
有没有一种方法可以在Options
工作表中设置公式以引用我当前正在查看的工作表的名称?
所以,如果我查看生产薄板它会把生产在选项表的A1,然后如果我点击查看外流片,它会改变A1在选项表显示外流。
尝试搜索,但在任何地方都找不到像这样的东西。谢谢你的帮助。
假设你不希望任何事情发生,如果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
代码区域。
让我们知道这会有所帮助。
在ThiwWorkbook
模块添加
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("Options").[a1] = Sh.Name
End Sub
这将给当前工作表的名称在一个叫选项
+1:非常好的时机!几乎相同。 :D – Manhattan
足够简单,但是当您查看“选项”时会发生什么? – Manhattan
@ BK201仍然有效,因为本地工作表可以在公式中使用自己的工作表名称 – brettdj
@brettdj:足够公平。不过,我认为OP在'Options'表中使用A1作为他想要显示的数据的参考。也许在'INDIRECT'公式中使用它。无论如何,发布一个答案。 – Manhattan