Notifications
Clear all

Definir planilha inicial

6 Posts
2 Usuários
0 Reactions
1,366 Visualizações
(@exit_light)
Posts: 27
Eminent Member
Topic starter
 

Como faço para, sempre que abra um documento excel, ele abra sempre na Sheet1?

 
Postado : 19/06/2013 4:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia,

Uma opção seria colocar a seguinte instrução no evento Open da pasta de trabalho:

Private Sub Workbook_Open()
    Sheets("Sheet1").Activate
End Sub

No editor do VB, do lado esquerdo, dê um duplo clique em "EstaPasta_de_trabalho" e cole o código.
Outra opção seria inserir um módulo e colocar o seguinte procedimento:

Sub auto_open()
    Sheets("Sheet1").Activate
End Sub

Abraço

 
Postado : 19/06/2013 5:03 am
(@exit_light)
Posts: 27
Eminent Member
Topic starter
 

O problema é que não sei se essa sheet estará hide ou não.
Eu no meu ficheiro tenho botões que vão saltando de sheets. Por exemplo, tenho um botão na sheet1 que salta para a sheet 2, fazendo unhide da sheet2 e hide da sheet1.

O que eu queria era, por exemplo, caso feche o documento na sheet2, quando o voltar a abrir queria que só aparecesse a sheet1 aberta e todas as outras hide.

 
Postado : 19/06/2013 5:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Utilize no Evento BeforeClose a seguinte rotina:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

        Dim ws As Worksheet
       
            Application.ScreenUpdating = False
            
            Worksheets("Sheet1").Visible = xlSheetVisible
            
            On Error Resume Next
          
            For Each ws In Worksheets
               
                If ws.Name <> "Sheet1" Then
                   
                        ws.Visible = xlSheetHidden

                End If
            Next ws
       
        Application.ScreenUpdating = True
       
End Sub

Sempre que fechar o arquivo, independente se a Sheet1 estará visivel ou não, será ocultada todas e exeibida somente a Sheet1, assim quando abrir ela será sempre a primeira.

[]s

 
Postado : 19/06/2013 6:05 am
(@exit_light)
Posts: 27
Eminent Member
Topic starter
 

Utilize no Evento BeforeClose a seguinte rotina:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

        Dim ws As Worksheet
       
            Application.ScreenUpdating = False
            
            Worksheets("Sheet1").Visible = xlSheetVisible
            
            On Error Resume Next
          
            For Each ws In Worksheets
               
                If ws.Name <> "Sheet1" Then
                   
                        ws.Visible = xlSheetHidden

                End If
            Next ws
       
        Application.ScreenUpdating = True
       
End Sub

Sempre que fechar o arquivo, independente se a Sheet1 estará visivel ou não, será ocultada todas e exeibida somente a Sheet1, assim quando abrir ela será sempre a primeira.

[]s

devo colar esse código no evento BeforeClose? Como faço isso?

 
Postado : 19/06/2013 6:43 am
(@exit_light)
Posts: 27
Eminent Member
Topic starter
 

já funcionou! Muito obrigado! Valeu!!!

 
Postado : 19/06/2013 7:35 am