Я хочу переименовать свой первый лист или вкладку в Excel на основе имени файла. Если я изменю имя файла, я хочу, чтобы первый лист автоматически переименовывался. Я не хочу, чтобы .xlsx был включен. Я попробовал этот макрос:
Sub RenameSheet()
Dim myname
myname = Replace(ActiveWorkbook. Name, ".xls", "")
ActiveSheet.Select
ActiveSheet.Name = myname
Range("A1").Select
End Sub
но он не переименовывается автоматически.
microsoft-excel
Грейс
источник
источник
Ответы:
Вставьте этот код под
ThisWorkbook
. Он переименует ваш первый лист в соответствии с вашим текущим именем файла.Помните, что вы не можете изменить имя файла, пока сам файл открыт в Excel. Благодаря этому вы можете использовать
Workbook_open()
событие, которое запускается один раз при открытии файла.InStrRev ищет справа налево первые вхождения точки (.), Чтобы узнать, где отключить расширение с помощью функции Left .
источник
Automatically rename [...]
иbut it's not automatically renamed.
Count > 0
. Если нет, то используйтеThisWorkbook.Name
.cmd
? :)