ファイル名の一部とセルの内容の一部に基づいてワークシートの名前を自動的に変更します

ファイル名の一部とセルの内容の一部に基づいてワークシートの名前を自動的に変更します

ファイル名の一部とセルの内容の一部という2つの異なる変数に基づいてワークシートの名前を変更したい

ファイルごとに合計 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

関連情報