Condividi tramite

Excel Vba ActiveWindow.DisplayWorkbookTabs = False anche se rimossa da codice non permette visualizzazione Fogli

Anonimo
2019-09-13T10:14:52+00:00

Buon Giorno a tutti

Per evitare cancellazione accidentale formule contenute in celle tabelle di diversi Fogli di lavoro , all'evento  UserForm Activate , avevo aggiunto

l'istruzione    ActiveWindow.DisplayWorkbookTabs = False  in modo che all'inizio della procedura , venisse mostrato solo il Foglio interessato e a tutti gli altri  fosse  impossibile accedere .

Adesso , dopo diverso tempo dall'utilizzo di questo File , avrei la necessita' di aggiornare alcune Tabelle presenti nei Fogli  non accessibili .

Come prima azione , all'apertura del File , ho modificato l'istruzione   ActiveWindow.DisplayWorkbookTabs = True

Nessun  risultato

Allora ho rimosso completamente l'istruzione  dal codice

Nessun risultato

I Fogli ci sono tutti , ma non e' possibile accedervi , anche da Vb , non e' Opzionabile   "visualizza Oggetto "

Esiste un modo per risolvere ???     Help !!       

                                                                    Grazie  Claudio P

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-09-16T11:20:42+00:00

Ciao Claudio,

Ho appena inviato per email il file problematico all'indirizzo *** L'indirizzo di posta elettronica viene rimosso per motivi di privacy ***

Non permettere l'accesso ai fogli , mi sembrava il metodo piu' sicuro e rapido ...... 

Ho ricevuto il tuo file.

Per rendere visibili i fogli nascosti o nasconderli, prova a eseguire la seguente macro:

'=========>>

Option Explicit

'--------->>

Public Sub Tester()

    Dim WB As Workbook

    Dim SH As Worksheet

    Dim Res As VbMsgBoxResult

    Set WB = ThisWorkbook

    For Each SH In WB.Worksheets

        With SH

            Res = MsgBox( _

                  Prompt:="Visualizza il foglio " & .Name, _

                  Buttons:=vbYesNoCancel, _

                  Title:="VISUALIZZA " & .Name)

            Select Case True

            Case Res = vbYes

                .Visible = xlSheetVisible

            Case Res = vbNo

                .Visible = xlSheetHidden

            Case Res = vbCancel

                Exit Sub

            End Select

        End With

    Next SH

End Sub

'<<=========

Vorrei anche fare i seguenti suggerimenti:

  • In ciascuna macro Userform_Activate, cancella l'istruzione:         ActiveWindow.DisplayWorkbookTabs = True
  • In ciascuna macro Userform_Activate cancella le istruzioni:

'---------->>

On Error GoTo XIT

    Application.ScreenUpdating = False

XIT:

        Application.ScreenUpdating = True

        End If

<<----------

  • sostituisci la procedura DisplayUserform con la segente versione:

'=========>>

Option Explicit

'--------->>

Public Sub DisplayUserform()

    Prova.Show vbModal

End Sub

'<<=========

Postscriptum:

Avrei dovuto spiegare che le istruzioni :

         ActiveWindow.DisplayWorkbookTabs = False

e

         ActiveWindow.DisplayWorkbookTabs = True

nascondono o mostrano solo le linguette dei fogli visibili; non nascondono né scoprono alcun foglio.

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-09-16T13:56:01+00:00

    Ciao Claudio.

    Perfetto ho lanciato la macro  Tester e mi ha permesso di visualizzare tutti i fogli , adesso posso le modifiche che mi servono .

    E' vero , ActiveWindow.DisplayWorkbookTabs = False non nasconde  i fogli , pero' , a quelli come me' che non sono profondi conoscitori di excel e Visual Basic , impedisce un facile accesso agli stessi , lo dimostra il fatto che se tu non mi avessi dato queste indicazioni ....... avrei dovuto buttare via tutto .

    Bene, mi fa piacere che tu abbia risolto il problema e ti ringrazio per il cortese riscontro.

    Mi chiedo ..... esiste veramente un metodo per rendere Veramenti Nascosti i Fogli ???

    Si può nascondere un foglio, in modo che non possa essere scoperto dall'interfaccia utente di Excel, nel modo seguente:

          ThisWorkbook.Sheets("Pippo").Visible = xlVeryHidden

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-09-16T13:40:04+00:00

    Ciao Norman

    Perfetto ho lanciato la macro  Tester e mi ha permesso di visualizzare tutti i fogli , adesso posso le modifiche che mi servono .

    E' vero , ActiveWindow.DisplayWorkbookTabs = False non nasconde  i fogli , pero' , a quelli come me' che non sono profondi conoscitori di excel e Visual Basic , impedisce un facile accesso agli stessi , lo dimostra il fatto che se tu non mi avessi dato queste indicazioni ....... avrei dovuto buttare via tutto .

    Mi chiedo ..... esiste veramente un metodo per rendere Veramenti Nascosti i Fogli ???

    GRAZIE    GRAZIE      Claudio P

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-09-16T09:34:01+00:00

    Ciao Norman

     Scusa il mio ritardo nella risposta

    Ho appena inviato per email il file problematico all'indirizzo ******@outlook.com

    Non permettere l'accesso ai fogli , mi sembrava il metodo piu' sicuro e rapido ......

                                     Grazie  Claudio P

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-09-13T11:23:07+00:00

    Ciao Claudio,

    Per evitare cancellazione accidentale formule contenute in celle tabelle di diversi Fogli di lavoro , all'evento  UserForm Activate , avevo aggiunto 

    l'istruzione    ActiveWindow.DisplayWorkbookTabs = False  in modo che all'inizio della procedura , venisse mostrato solo il Foglio interessato e a tutti gli altri  fosse  impossibile accedere .

    Adesso , dopo diverso tempo dall'utilizzo di questo File , avrei la necessita' di aggiornare alcune Tabelle presenti nei Fogli  non accessibili .

    Come prima azione , all'apertura del File , ho modificato l'istruzione   ActiveWindow.DisplayWorkbookTabs = True

    Nessun  risultato

    Allora ho rimosso completamente l'istruzione  dal codice

    Nessun risultato

    I Fogli ci sono tutti , ma non e' possibile accedervi , anche da Vb , non e' Opzionabile   "visualizza Oggetto "

    Esiste un modo per risolvere ???     Help !! 

    Non riesco a riprodurre la tua esperienza: posso tranquillamente nascondere o scoprire le linguette dei fogli.

    Ti suggerisco di inviarmi privatamente la cartella di lavoro problematica. Facendo clic sul mio profilo troverai un indirizzo mail decifrabile.

    Passando a un altro argomento, non vedo la necessità dell'istruzione

                 ActiveWindow.DisplayWorkbookTabs = False     

    perché, per default, il metodo Show rende i fogli inaccessibili. Inoltre, se l'intenzione è quella di evitare la modifica delle formule, perché non proteggere le celle pertinenti?

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento