Я пытаюсь динамически изменять имя тега листа на основе значения ячейки на другом листе, «заголовок». Динамическое изменение работает хорошо, когда я делаю обновление с того же листа и изменения после нажатия ввода после изменения значения ячейки. Но когда эталонная ячейка находится на другом листе, после входа в игру нет изменений в теге листа, пока я не получу активный доступ к обновляемому листу и нажмите на листе. Есть ли способ обойти это? У меня около 20 листов, поэтому было бы сложно щелкнуть по каждому листу при внесении изменений. Вот мой код:Excel: динамически менять тег на основе значения ячейки на другом листе
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
Мой другой вариант, чтобы добавить кнопку обновления для выполнения изменений, но если это возможно, я хотел бы избежать этого.
Любые предложения будут оценены!
, потому что вы кодируете область для изменения конкретного листа. Поэтому, если у вас есть этот код в Sheet1, только когда вы вносите изменения в sheet1, этот код будет в игре. Либо добавьте этот код за все листы, либо просто используйте событие изменения листа рабочей книги 'Private Sub Workbook_SheetChange (ByVal Sh As Object, ByVal Target As Range)' вы можете получить к нему доступ в объекте книги. – cyboashu
Было ли мое решение работать на вашем деле? – RCaetano
@cyboashu, извинения за поздний ответ (ушел). Мне действительно удалось получить эту работу с комбинацией обоих ответов, так что спасибо вам за вход. Изменение workbook_sheet было событием изменения листа рабочей книги, которое я в конечном счете искал, поэтому, если вы поместите это как ответ, я его приму. Если он не обновляется через несколько дней, я соглашусь с текущим ответом. Еще раз, спасибо за помощь! – dl00065