![](/img/trans.png)
[英]Change a cell value in a sheet based on the value of another sheet cell value
[英]Excel: Dynamically change sheet tag based on cell value in another sheet
我正在嘗試根據另一個工作表(“標題”工作表)中的單元格值動態更改工作表標簽名稱。 當我在同一張紙上進行更新時,動態更改效果很好,並且在更改單元格值后按Enter鍵進行更改。 但是,當參考單元格位於另一張工作表中時,按Enter鍵后,工作表標簽不會發生變化,直到我主動訪問要更新的工作表並單擊工作表。 反正有解決這個問題的方法嗎? 我大約有20張紙,因此在進行更改時單擊每張紙會很費力。 這是我的代碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set Target = Worksheet("Title").Range("A1")
If Target = "" Then Exit Sub
On Error GoTo Badname
ActiveSheet.Name = Left(Target, 31)
Exit Sub
Badname:
MsgBox "Please revise the entry in A1." & Chr(13) _
& "It appears to contain one or more " & Chr(13) _
& "illegal characters." & Chr(13)
Range("A1").Activate
End Sub
我的另一個選擇是添加一個更新按鈕來執行更改,但是如果可能的話,我想避免這種情況。
任何建議,將不勝感激!
因此,您大約有20張左右的工作表,因此在進行更改時單擊每個工作表會很麻煩。 為什么不遍歷所有工作表以刷新更改? :)
就像是:
Dim sht As Worksheet
Application.ScreenUpdating = False
For Each sht In Worksheets
sht.Activate
Next
Application.ScreenUpdating = True
HTH;)
按照要求
因為您的代碼適用於特定的工作表更改。 因此,如果您在Sheet1中有此代碼,則只有當您在sheet1中進行更改時,此代碼才會起作用。 可以將此代碼添加到所有工作表的后面,也可以只使用工作簿級別工作表更改事件Private Sub Workbook_SheetChange(ByVal Sh作為對象,ByVal目標作為范圍),您可以在工作簿對象中訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.