Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Botão macro de localizar

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Botão macro de localizar

Mensagem por srobles »

Adonias,

As novas planilhas receberão o CNPJ e o nome existentes na Plan1, ou apenas o CNPJ ou apenas o Nome?

Laços deste tipo são relativamente simples.

Abaixo deixo um exemplo:

Código: Selecionar todos

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
Abs
Anexos
tete2.zip
(18.18 KiB) Baixado 169 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Botão macro de localizar

Mensagem por Adonias »

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
Anexos
tete2.rar
(25.22 KiB) Baixado 168 vezes


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Botão macro de localizar

Mensagem por Adonias »

detalhe: as duas colunas da planilha inicial não poderão ser copiadas.

Outra coisa: não estou conseguindo as opções com o botão direito em cima de um butto que está na planilha. Meu excel é o 2010. Tem essa função nele?


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Botão macro de localizar

Mensagem por srobles »

Adonias,

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.

Abs
Anexos
tete2.zip
(23.4 KiB) Baixado 185 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

[RESOLVIDO]Botão macro de localizar

Mensagem por Adonias »

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
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Botão macro de localizar

Mensagem por srobles »

Adonias,

Que bom que lhe serviu o modelo amigo!

Quanto as opções não estarem disponiveis, experimente fazer o reparo da instalação do office...Talvez resolva.

Amigo, sempre que precisar, pode contar comigo e com o fórum.

Abs


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

Re: Botão macro de localizar

Mensagem por Adonias »

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
.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Botão macro de localizar

Mensagem por srobles »

Adonias,

Experimente o seguinte :

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.

Espero ter ajudado.

Abs


Adonias
Manda bem
Manda bem
Mensagens: 167
Registrado em: Sáb Jun 02, 2012 12:55 pm

[RESOLVIDO] Botão macro de localizar

Mensagem por Adonias »

Beleza Srobles, deu certo. Valeu novamente

Acabei de postar outra dúvida com o Título "localização Cruzada"
Creio que seu conhecimento ajudará muito.
Obrigadao


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder