Página 1 de 1
Alterando o Evento Private Sub Workbook_open
Enviado: 22 Fev 2016 às 14:12
por Adrian
Olá pessoal!
Quando usamos aquele evento (macro ) Private Sub Workbook_open, sei que a função dele é rodar sempre quando a pasta trabalho for aberta. Teria como alterar esse evento para ele rodar só uma vez, e não sempre que eu abrir minha pasta de trabalho?
Grato
Adriano
Alterando o Evento Private Sub Workbook_open
Enviado: 22 Fev 2016 às 14:27
por GabrielPeron
Eu criaria um registro em uma célula qualquer de uma planilha, tipo se a célula for = 0 então executa a primeira abertura e muda o valor da célula para 1, se for = 1 então não faz nd ou z.
If range("X").value = 0 then
[1ª vez]
range("X").value = 1
Else
[demais]
End If
Bom... uma ideia.

Alterando o Evento Private Sub Workbook_open
Enviado: 22 Fev 2016 às 15:52
por Adrian
Não entendi pra que serve essa macro Gabriel?
Alterando o Evento Private Sub Workbook_open
Enviado: 23 Fev 2016 às 09:13
por fernandoazevedo
Prezado Adrian;
A ideia do Gabriel se eu entendi corretamente como a execução vai acontecer somente uma vez ao executar será atribuído o valor 1 na célula fazendo que a mesma não execute novamente.
Vamos ao código:
Código: Selecionar todosIf range("X").value = 0 then // se o valor da célula que você escolheu exemplo no lugar de "X" for igual a zero
/Execute o código aqui
range("X").value = 1 // atribui o valor da célula x para 1 fazendo com a condição fique falsa não executando a mesma novamente.
Else
End If
Re: Alterando o Evento Private Sub Workbook_open
Enviado: 23 Fev 2016 às 12:29
por Adrian
Vou explicar melhor, a macro editada no meu projeto VBA em EstaPasta_de_trabalho é a seguinte:
Private Sub workbook_open()
Sheets("Plan3").Activate
End Sub
Obs: Com essa macro, sempre que eu abro minha pasta de trabalho, sempre também é aberta a "Plan3". Minha rotina é abrí-la todos os dias, a "Plan3" é a home page da minha pasta, por isso que programei ela para ser aberta, e a "Plan2" é a planilha que contém os nomes dos meus clientes e suas respectivas datas de nascimento. Eu queria que todos os dias que eu abrisse minha pasta de trabalho fosse aberta a "Plan2", mas que esse evento só ocorresse uma vez que esse arquivo fosse aberto, e me voltasse ao normal por diante abrindo sempre a "Plan3".
Grato
Adriano
Alterando o Evento Private Sub Workbook_open
Enviado: 23 Fev 2016 às 13:59
por GabrielPeron
Exatamente isso fernandoazevedo.
Agora Adrian, aplicando essa sua ideia no meu código ficaria assim:
Código: Selecionar todosPrivate Sub workbook_open()
If range("Plan3!AA1").value <> 1 then
Sheets("Plan2").activate
Range("Plan3!AA1").value = 1
Else
Sheets("Plan3").activate
End If
End Sub
Só fica ligado que eu coloquei como referência a célula AA1 da Plan3 para checar o
status se o arquivo já foi aberto ou não.
Desculpe a demora,

.
Att
Re: Alterando o Evento Private Sub Workbook_open
Enviado: 23 Fev 2016 às 14:03
por alexandrevba
Boa tarde!!
Você pretende abrir o arquivo e a guia "Plan2" vai ser selecionada, se fechar o arquivo e abrir novamente a guia Plan3 que deve ser selecionada?
Se for isso já tentou armazenar o valor das vezes em que o arquivo foi aberto em uma célula?
Outra fonte próxima:
http://stackoverflow.com/questions/2438 ... ated-after
Att
Re: Alterando o Evento Private Sub Workbook_open
Enviado: 23 Fev 2016 às 15:16
por Adrian
Gabriel usei a macro que você descreveu. Mas aconteceu isso quando abrir o arquivo
segue anexo