Cambiar automáticamente el nombre de la hoja de trabajo según parte del nombre del archivo y parte del contenido de la celda

Cambiar automáticamente el nombre de la hoja de trabajo según parte del nombre del archivo y parte del contenido de la celda

Quiero cambiar el nombre de las hojas de trabajo en función de dos variables diferentes, parte del nombre del archivo y parte del contenido de una celda.

Tendré un total de cinco hojas de trabajo por archivo, que luego guardaré como PDF una vez que se recopilen e ingresen los datos.

Del nombre del archivo, usaré los primeros 3 o 4 caracteres numéricos. (Foto 1)

De la celda I1, usaré las palabras antes de "TAPICERÍA" o aproximadamente los primeros 5 a 11 caracteres, según la palabra. (foto 2)

La imagen 3 muestra los resultados finales.

3 o 4 caracteres numéricos

Información de la celda I1

Resultados finales

Respuesta1

En cada celda de la hoja de cálculo I1, ingrese la fórmula:

=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)

Respuesta2

Aquí hay una macro que debería funcionar

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

información relacionada