파일 이름 일부와 셀 내용 일부를 기준으로 워크시트 이름을 자동으로 바꿉니다.

파일 이름 일부와 셀 내용 일부를 기준으로 워크시트 이름을 자동으로 바꿉니다.

두 가지 다른 변수, 즉 파일 이름의 일부와 셀 내용의 일부를 기반으로 워크시트의 이름을 바꾸고 싶습니다.

파일당 총 5개의 워크시트를 갖게 되며 나중에 데이터를 수집하고 입력하면 PDF로 저장할 것입니다.

파일 이름에서 처음 3~4개의 숫자를 사용하겠습니다. (그림 1)

셀 I1에서 "UPHOLSTERY" 앞의 단어를 사용하거나 단어에 따라 대략 처음 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

관련 정보