Sub adicionar_E_nomear_Planilhas()
'Variável do tipo inteiro para sabermos
'quantos clientes / planilhas devemos adicionar
Dim nClientes As Integer
'O número de clientes / planilhas é igual á quantidade
'de linhas preenchidas na planilha Base
nClientes = ThisWorkbook.Sheets("Plan1").UsedRange.Rows.Count
'Variáveis do tipo texto (String) para armazenarmos o CNPJ e o nome
Dim CNPJ, nomePlan As String
'Laço para adicionarmos os clientes / planilhas
For pCliente = 1 To nClientes
'Se o valor da célula for diferente de nulo / branco
If ThisWorkbook.Sheets("Plan1").Cells(pCliente, "A") <> "" Then
'Armazenamos os valores
CNPJ = ThisWorkbook.Sheets("Plan1").Cells(pCliente, "A")
nomePlan = ThisWorkbook.Sheets("Plan1").Cells(pCliente, "B")
'Adicionamos a nova planilha
Sheets.Add , Sheets(Sheets.Count)
'Nomeamos a nova planilha com os dados obtidos
'a função Replace teve de ser usada, pois em nome de planilha
'não é permitido o caracter /. Então temos de trocá-lo por outro
'no caso o -
Sheets(Sheets.Count).Name = Replace(CNPJ, "/", "-", 1, Len(nomePlan)) & " - " & nomePlan
End If
Next
End Sub
Veja, o nome da planilha será apenas os nomes constante da coluna B
Na realidade vou estar realizando este comando de um planilha que quero copiar e mudar os nomes conforme a relação de nomes da planilha inicial a ser copiada.
Os nomes dentro das planilhas nas células "C1" e "G1" serão alterados: em C1 terá o nome da planilha conforme escrito na aba lá embaixo e na C1 o respectivo CNPJ
Eu já alterei para Renomear apenas com o NOME, mas falta alterar os nomes nas células em cada plan
Ok amigo. Entendi e realizei as alterações no código. Teste e retorne.
Quanto a habilitar as opções em controles contidos em uma planilha, existem duas possibilidades.
1) Se o controle for do tipo Controle de formulário, basta clicar e as opções aparecem;
2) Se o controle for do tipo ActiveX, você deve ter a guia Desenvolvedor habilitada, e, nesta guia, há o botão Modo de Design. clicando nele, o controle é desbloqueado e as opções aparecem.
Muito bom mesmo. Era exatamente o que eu queria.
Valeu memso.
Quanto as propriedades do meu button, acho que o excel não foi instalado corretamente, pois mesmo estando no mo design não está aparecendo. Algo errado
Amigo, muito obrigado e espero sempre poder contar com sua preciosa ajuda, pois sempre tenho que desenvolver alguma planilha para agilizar algum procedimento e nada melhor do que aprender com um objetivo.
valeu
Srobles, ainda sobre a primeira planilha, a da busca do CNPJ em todas as planilhas, teria como eu deixar de procurar em apenas uma das planilhas, ou seja a busca pulasse essa planilha?
è que tenho uma das planilhas com todos os CNPJ e a busca vai localizar nela e isso não pode acontecer
.
Mova a planilha que não fará parte da busca para a segunda posição, Ex :
Planilha_Lista_CNPJ, Planilha_Que_Não_Será_Incluida, Plan1, Plan2, Plan3 e assim por diante.
No módulo 2 existe a Function buscaCNPJ(ByVal CNPJ As String).
Nesta Function, localize a linha For idPlan = 2 To contPlanilhas e altere 2 para 3. Assim a busca será realizada da planilha de índice 3 até a última contida na Pasta de trabalho, pulando a que não deve ser usada.