根据文件名的一部分和单元格内容的一部分自动重命名工作表

根据文件名的一部分和单元格内容的一部分自动重命名工作表

我想根据两个不同的变量重命名工作表,一部分是文件名,一部分是单元格的内容

每个文件总共有五张工作表,稍后收集并输入数据后将其保存为 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

相关内容