2014-01-09 70 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

相關問題