Automatisches Umbenennen des Arbeitsblatts basierend auf einem Teil des Dateinamens und einem Teil des Zellinhalts

Automatisches Umbenennen des Arbeitsblatts basierend auf einem Teil des Dateinamens und einem Teil des Zellinhalts

Ich möchte die Arbeitsblätter basierend auf zwei verschiedenen Variablen umbenennen, einem Teil des Dateinamens und einem Teil des Inhalts einer Zelle

Ich werde insgesamt fünf Arbeitsblätter pro Datei haben und sie später als PDFs speichern, sobald die Daten erfasst und eingegeben sind.

Vom Dateinamen werde ich die ersten 3 oder 4 numerischen Zeichen verwenden. (Bild 1)

Aus Zelle I1 verwende ich die Wörter vor „UPHOLSTERY“ oder, je nach Wort, ungefähr die ersten 5 bis 11 Zeichen. (Bild 2)

Bild 3 zeigt die Endergebnisse.

3 oder 4 numerische Zeichen

Informationen zu Zelle I1

Endgültige Ergebnisse

Antwort1

Geben Sie in jede Arbeitsblattzelle I1die Formel ein:

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

Antwort2

Hier ist ein Makro, das den Zweck erfüllen sollte

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

verwandte Informationen