Автоматически переименовывать рабочий лист на основе части имени файла и части содержимого ячейки

Автоматически переименовывать рабочий лист на основе части имени файла и части содержимого ячейки

Я хочу переименовать рабочие листы на основе двух разных переменных: части имени файла и части содержимого ячейки.

Всего в каждом файле будет пять рабочих листов, которые я позже сохраню в формате PDF после сбора и ввода данных.

Из имени файла я буду использовать первые 3 или 4 цифровых символа. (рисунок 1)

Из ячейки I1 я буду использовать слова до слова «ОБИВКА» или приблизительно первые 5–11 символов в зависимости от слова. (рисунок 2)

На рисунке 3 показаны окончательные результаты.

3 или 4 цифровых символа

Информация ячейки I1

Окончательные результаты

решение1

В каждую ячейку рабочего листа I1введите формулу:

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+5,255)&MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+4,FIND("]", CELL("filename",A1))-FIND("[",CELL("filename",A1))-9)

решение2

Вот макрос, который должен это сделать.

Sub worksheetRename()
    Dim wb As Workbook
    Dim ws As Worksheet
    Set wb = ThisWorkbook
    'split the name of the file into words
    na = split(wb.Name, " ")
    'loop thru all worksheets
    For i = 1 To wb.Worksheets.Count
        Set ws = wb.Sheets(i)
        'split cell A1 into words
        nb = split(ws.Cells(1,1), " ")
        'set name of worksheet
        ws.Name = na(0) & " " & nb(0) 
    Next i
    a = MsgBox("Done", vbInformation)
End Sub

Связанный контент