Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#63404
Boa tarde!
Consegui uma planilha na internet (já faz um tempo, não lembro se foi aqui no fórum) que renomeia os arquivos de uma determinada pasta.

Funciona assim:
1) Eu colo o endereço da pasta na célula D1 e os arquivos contidos na pasta são listados na coluna B, da linha 3 pra baixo.

2) Preencho na coluna E ao lado do nome de cada arquivo e clico no botão renomear.

Otimização 01: Gostaria de ao invés de copiar o endereço da pasta e colar, clicar no botão "SELECIONAR PASTA" e escolher a pasta através do Windows Explorer.

Otimização 02: Antes de clicar botão RENOMEAR, preciso entrar no código VBA e alterar o endereço nas linhas 12 e 15. Gostaria que o código VBA já buscasse a informação da célula D1.
Código: Selecionar todos
Sub RenomearArquivo()

    ' Solicita a confirmação antes de renomear
    If MsgBox("Deseja realmente renomear todos os arquivos?", vbMsgBoxHelpButton + vbQuestion + vbYesNo, "Renomear Arquivos") = vbNo Then
       Exit Sub
    End If
        
            'Executa no intervalo de linhas definido
        For x = 3 To 100
        
            'Pega o nome antigo na Coluna A e armazena na variavel
            NomeAntigo = "[b]C:\Users\eduardo\Documents\audio\[/b]" & Range("B" & x).Value
            
            'Pega o novo nome na coluna B e armazena na variavel
            NovoNome = "[b]C:\Users\eduardo\Documents\audio\[/b]" & Cells(x, 3).Value
    
            Name NomeAntigo As NovoNome
    
        Next

End Sub
Grato!
Eduardo
Você não está autorizado a ver ou baixar esse anexo.
#63405
Boa noite!!

Consegui fazer a otimização 01.

Falta somente a 02 (Antes de clicar botão RENOMEAR, preciso entrar no código VBA e alterar o endereço nas linhas 12 e 15. Gostaria que o código VBA já buscasse a informação da célula D1.)

Grato!
Eduardo
Você não está autorizado a ver ou baixar esse anexo.
#63466
Luiz ficou muito pratico dessa forma. Porém daquela forma atende melhor a minha necessidade. De qualquer forma, muito obrigado!

O que eu tava precisando agora era encontrar um jeito de otimizar a formula da célula E5 para baixo.
E5 =DIREITA(B5;18)
E6 =DIREITA(B6;20)
E7 =DIREITA(B7;18)
E8 =DIREITA(B8;16)

*Observa que assim tenho que mexer na formula Ex =DIREITA(Bx;xx) linha por linha, pois dependendo do tamanho do nome (18, 20, 18 16) irei copiar menos ou mais caracteres a direita.

**Preciso de algo mais ou menos assim: Ex"=Bx-(ESQUERDA(Bx;$F$4)". Ao olhar no anexo é possível compreender o que estou precisando.

Agradeço a quem puder me dar um ajuda!

Boa noite!

Grato!
Eduardo
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord