Renomeia automaticamente a planilha com base no nome do arquivo

0

Eu quero renomear minha primeira planilha ou tab no excel com base no nome do arquivo. Se eu alterar o nome do arquivo, quero que a primeira folha seja renomeada automaticamente. Eu não quero que o .xlsx seja incluído. Eu tentei esta macro:

Sub RenameSheet()
Dim myname
myname = Replace(ActiveWorkbook. Name, ".xls", "")
    ActiveSheet.Select
    ActiveSheet.Name = myname
    Range("A1").Select
End Sub

mas não é automaticamente renomeado.

    
por grace 05.10.2013 / 14:30

1 resposta

2

Insira este código em ThisWorkbook . Ele renomeia sua primeira planilha de acordo com seu nome de arquivo atual.

Lembre-se de que você não pode alterar um nome de arquivo enquanto o próprio arquivo é aberto no Excel. Devido a isso, você pode utilizar o evento Workbook_open() que é acionado uma vez quando o arquivo é aberto.

InStrRev pesquisa da direita para a esquerda os primeiros eventos de um ponto (.) para saber onde cortar a extensão com uma função Esquerda .

Private Sub Workbook_open()
    Count = InStrRev(ThisWorkbook.Name, ".")
    If Count > 0 Then
        Sheets(1).Name = Left(ThisWorkbook.Name, Count - 1)
        Sheets(1).Range("A2") = Left(ThisWorkbook.Name, Count - 1)
    End If
End Sub

    
por 05.10.2013 / 15:31