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
#66508
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
Você não está autorizado a ver ou baixar esse anexo.
#66511
Salve, @Albino10 .

Sugestão: disponibilize uma amostra do arquivo Excel com o código instalado (print do código não serve).
#66526
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
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