Página 1 de 1

Macro que impeça triplicar planilha do mesmo mês

Enviado: 24 Ago 2021 às 17:46
por Albino10
Boa tarde senhores,
Executei uma macro (gravar macro) para duplicar a planilha nomeando com o mês automaticamente de acordo com a célula selecionada.
Só que preciso de um comando adicional nessa macro que impeça em triplicar o mesmo mês, podem me ajudar por favor?
Caso vocês tenham uma macro mais simples do que essa gravação que fiz, ficaria muito feliz, segue abaixo a macro que gravei.
desde de já meu muito abrigado

Re: Macro que impeça triplicar planilha do mesmo mês

Enviado: 24 Ago 2021 às 19:43
por osvaldomp
Salve, @Albino10 .

Sugestão: disponibilize uma amostra do arquivo Excel com o código instalado (print do código não serve).

Re: Macro que impeça triplicar planilha do mesmo mês

Enviado: 25 Ago 2021 às 08:50
por Albino10
Eu anexeri na primeira mensagem, aqui consta como enviado, não entendi.
Pasta1.xlsx

Re: Macro que impeça triplicar planilha do mesmo mês

Enviado: 25 Ago 2021 às 09:12
por Albino10
Desculpa, depois que percebi que o Print ão serve.
L.J. Diário de bordo (fórum).xlsm

Re: Macro que impeça triplicar planilha do mesmo mês

Enviado: 25 Ago 2021 às 12:27
por osvaldomp
Salve, @Albino10 .

Cada vez que o seu código é executado ele insere três botões de opção sobrepondo-os aos existentes, em consequência nas planilhas DBordo e JANEIRO existem mais de 860 botões em cada uma. Doidera! :o :shock:

Seguem algumas dicas:
Nas planilhas Dbordo e JANEIRO rode os três códigos abaixo apenas uma vez em cada planilha, para isso ative uma dessas planilhas por vez.
1. rode o código ContaBotOpção para confirmar a quantidade de botões de opção existentes na planilha
2. rode o código DeletaBotOpção para deletar TODOS os botões de opção existentes na planilha
3. rode o código InsereBotOpção para reinserir apenas três botões
4. mantenha a planilha Dbordo sem dados, somente como modelo a ser copiado
Código: Selecionar todos
Sub ContaBotOpção()
 MsgBox ActiveSheet.OptionButtons.Count
End Sub

Sub DeletaBotOpção()
 ActiveSheet.OptionButtons.Delete
End Sub

Sub InsereBotOpção()
 ActiveSheet.OptionButtons.Add(713.25, 156.75, 51.75, 17.25).Select
 ActiveSheet.OptionButtons.Add(750.75, 156.75, 51.75, 17.25).Select
 ActiveSheet.OptionButtons.Add(792, 156.75, 51.75, 17.25).Select
End Sub

Para fazer cópia da DBordo utilize o código abaixo no lugar do atual.
funcionamento -mantenha a planilha DBordo como a planilha ativa, selecione em U10 o nome para a nova planilha e rode o código abaixo.
Código: Selecionar todos
Sub CópiaDBordo() 'faz cópia da planilha DBordo
 If Sheets("DBordo").[U10] = "" Then
  MsgBox "SELECIONE UM NOME PARA A CÓPIA EM U10.", vbInformation, "ATENÇÃO!!": Exit Sub
 End If
 If Evaluate("IsError(" & Sheets("DBordo").[U10] & "!A1)") = False Then
  MsgBox "O NOME SELECIONADO EM U10 JÁ EXISTE." & vbLf & "SELECIONE OUTRO NOME", vbInformation, "ATENÇÃO!!": Exit Sub
 End If
 Sheets("DBordo").Copy after:=Sheets(Sheets.Count - 2)
 ActiveSheet.Name = [U10]
End Sub

Re: Macro que impeça triplicar planilha do mesmo mês

Enviado: 25 Ago 2021 às 17:26
por Albino10
Simplesmente, FANTÁSTICO!!!
Obrigado Oswaldo