Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GTTJ

[Resolvido] Acessando Uma Nova Planilha

Recommended Posts

Prezados,

 

Bom dia,

 

Alguém sabe me informar como façõ para criar um "loop" por meio de vba onde este verifica se há uma nova planilha aberta e ainda não salva, ou seja a mesma vai conter o título de "Microsoft Excel - Pasta1".

 

Obs: Esta planilha ainda não salva esta em instância diferente da planilha que contiver a macro.Se algum de vocês souberem acessar o Gerenciador do Windows por meio de vba e imprimir os processos atuais em uma sheet eu também fico grato.

 

Att, :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados,

 

Bom dia,

 

Alguém sabe me informar como façõ para criar um "loop" por meio de vba onde este verifica se há uma nova planilha aberta e ainda não salva, ou seja a mesma vai conter o título de "Microsoft Excel - Pasta1".

 

Obs: Esta planilha ainda não salva esta em instância diferente da planilha que contiver a macro.Se algum de vocês souberem acessar o Gerenciador do Windows por meio de vba e imprimir os processos atuais em uma sheet eu também fico grato.

 

Att, :huh:

 

Prezados,

 

boa tarde,

 

A resposta é colocar 2 subrotinas, uma dentro da outra. Segue o exemplo abaixo:

Sub Plan_Nova()

'1º Rótulo
OCORREUERRO:

'Acessa a outra Rotina
Plan_Nova1

'Faz uma segunda verificação. E caso constatado que não existe uma planilha nova aberta, então força o desvio da macro para o rótulo acima e consequentemente a segunda macro vai ser executada novamente (Uma espécie de loop). 
If range("a1").value = 1 then
Goto OCORREUERRO
End If 


'Coloque o código a ser executado, caso exista uma planilha do excel aberta e ainda não salva aquí

End Sub

Sub Plan_Nova1()

'Variável
Dim title As String

'Armadilha de erros, caso houver
On Error GoTo OCORREUERRO1

'Atribuição da vaiável há uma planilha nova e ainda não salva
title = "Microsoft Excel - Pasta1"

'Pondo focu na planilha nova
AppActivate title

'Continuação da armadilha de erro, se houver
OCORREUERRO1:

'Aquí é feita a primeira verificação, caso a mesma se constate que não há uma nova planilha então o código "Zerara" o erro e sairá desta rotina e voltando para a primeira. Na primeira será feito a segunda verificação que por sua vez jogará para o rótulo, forçando assim a execução desta rotina novamente.
If Err > 0 Then
Range("a1").Value = 1
On Error GoTo 0
Exit Sub
Else
Range("a1").Value = 0
End If

End Sub 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.