Gostaria se puder criar um ajuste em um código VBA

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Gostaria se puder criar um ajuste em um código VBA

Mensagempor JNEXCEL » Sex Jul 12, 2019 8:37 am

Bom dia!

Por favor, eu estou precisando de ajuda de vocês :)

Tenho um código vba e gostaria de ajuste para que rodasse legal.
Código: Selecionar todos
Sheets("Teste").Visible = True
Sheets("Teste").Copy After:=Sheets(Sheets.Count)
' seria possível criar uma verificação aqui no nome?
' exemplo:
' se o nome não for válido, o excel fica esperando até o usuário digitar um nome válido para então realizado o processo
ActiveSheet.Name = InputBox("Digite um nome para seu novo controle", "Novo Controle")
Sheets("Teste").Select
ActiveWindow.SelectedSheets.Visible = False
MsgBox "Novo controle criado com sucesso!", vbInformation, "Sucesso"
' o código cópia faz tudo certo, porém quando finaliza o processo
' a planilha que fica ativa não é a nova e sim a antiga
' um teste realizado!
' o nome da planilha ativa quando é aberto o excel é a 12
' clique no botão e crie uma nova com o nome de 13
' quando finalizar o processo, vai ficar as duas na pasta de trabalho ATÉ AQUI TUDO OK
' porém após fechar o msgbox, o excel seleciona como ativa a 12 e não a 13
' como fazer para o excel selecionar a 13 e deixar ela como ativa
                                   
                                   ' E TAMBÉM!!!!
' Eu queria esconder todo esse processo para o usuário não perceba o código rodando teria como?


Muito obrigado a todos pela atenção
JNEXCEL
Membro
Membro
 
Mensagens: 277
Registrado em: Sex Out 27, 2017 4:34 pm
Has thanked: 205 times
Have thanks: 4 times

{ SO_SELECT }

Re: Gostaria se puder criar um ajuste em um código VBA

Mensagempor MPrudencio » Sáb Jul 13, 2019 5:10 pm

Não entendi seu problema aqui o codigo funcionou como vc "deseja".
Em resumo nao consegui reproduzir o "problema"

Qto ao teste de verificação um if resolve mas vc precisa dar mais esclarecimentos.

Código: Selecionar todos
Sub Teste()

Sheets("Teste").Visible = True
Sheets("Teste").Copy After:=Sheets(Sheets.Count)
' seria possível criar uma verificação aqui no nome?
' exemplo:
' se o nome não for válido, o excel fica esperando até o usuário digitar um nome válido para então realizado o processo
ActiveSheet.Name = InputBox("Digite um nome para seu novo controle", "Novo Controle")
Sheets("Teste").Visible = False
MsgBox "Novo controle criado com sucesso!", vbInformation, "Sucesso"
' o código cópia faz tudo certo, porém quando finaliza o processo
' a planilha que fica ativa não é a nova e sim a antiga
' um teste realizado!
' o nome da planilha ativa quando é aberto o excel é a 12
' clique no botão e crie uma nova com o nome de 13
' quando finalizar o processo, vai ficar as duas na pasta de trabalho ATÉ AQUI TUDO OK
' porém após fechar o msgbox, o excel seleciona como ativa a 12 e não a 13
' como fazer para o excel selecionar a 13 e deixar ela como ativa
                                   
                                   ' E TAMBÉM!!!!
' Eu queria esconder todo esse processo para o usuário não perceba o código rodando teria como?

End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

MPrudencio
Membro
Membro
 
Mensagens: 2829
Registrado em: Sáb Ago 15, 2015 8:29 pm
Has thanked: 79 times
Have thanks: 622 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google [Bot] e 4 visitantes