› Sviluppare funzionalita su Microsoft Office con VBA › disabilita seleziona tutti i fogli
-
AutoreArticoli
-
Ciao a tutti.
Nel workbook allegato alcuni fogli sono protetti, altri no.
In questo workbook in this workbook c'è questa macro che blocca la funzione seleziona tutti i fogli
(dx mouse nell'etichetta dei fogli)
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If ActiveWindow.SelectedSheets.Count > 1 Then ActiveSheet.Select 'MsgBox "non puoi selezionare tutti i fogli!", vbCritical + vbOKOnly, "ERRORE!" MsgBox "you can 't select all sheets!", vbCritical + vbOKOnly, "ERROR!" End If End Subinoltre in tutti i fogli ma non in foglio /6/7/8 c'è questa macro
Private Sub Worksheet_Activate() Foglio1.Activate '<<< per aprire direttamente in foglio..... Range("B2").Select Range("B1").Select Foglio1.Protect "123456" End Subè possibile che l'avviso compaia anche nei fogli 1/6/7/8?
Nota:
ho postato questo thread anche qui
https://www.excelforum.com/excel-programming-vba-macros/1438350-disable-select-all-sheets.html
Allegati:
You must be logged in to view attached files.>>>c'è questa macro che blocca la funzione seleziona tutti i fogli
Sicuro? Ho selezionato tutti i fogli ed eliminati>>>possibile che l'avviso compaia anche nei fogli 1/6/7/8?
Non è un avviso/messaggio? Seleziona una cella, dopo un'altra, per finire mette la password ???.
NB Sarebbe meglio Range("B1").ActivateSe desideri Puoi metterlo in ogni foglio e mettere la password solo ad alcuni.
Ps Dato che selezioni prima B2 e poi B1 interviene il Workbook_SheetSelectionChange che dovresti bloccare con ...false/trueEDIT Sostituire FOGLIOX con SheetX
`Option Explicit Private Sub Worksheet_Activate() 'Foglio1.Activate '<<< per aprire direttamente in foglio..... 'Range("B2").Select Range("B1").Select 'Application.EnableEvents = False If ActiveSheet.Name = "Foglio2" Then Foglio2.Protect "123456" If ActiveSheet.Name = "Foglio3" Then Foglio3.Protect "123456" If ActiveSheet.Name = "Foglio4" Then Foglio4.Protect "123456" If ActiveSheet.Name = "Foglio5" Then Foglio5.Protect "123456" 'Application.EnableEvents = True End Sub`Ho cambiato in in thisworkbok
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If ActiveWindow.SelectedSheets.Count > 1 Then 'MsgBox "La selezione multipla dei fogli è disabilitata.", vbExclamation, "Avviso" 'MsgBox "non puoi selezionare tutti i fogli!", vbCritical + vbOKOnly, "ERRORE!" MsgBox "you can 't select all sheets!", vbCritical + vbOKOnly, "ERROR!" Application.EnableEvents = False ' Prevent infinite loops ActiveSheet.Select ' Deselects other sheets Application.EnableEvents = True End If End Sube nei fogli 1/2/3/4
Private Sub Worksheet_Activate() Me.Activate Range("B2").Select Range("B1").Select 'Me.Protect "123456" With Me If Not .ProtectContents Then .Protect "123456" End With End Subfunziona in tutti i fogli anche non protetti 5/6/ e nel foglio7 protetto da pw.
E' possibile l'avviso compaia anche per il foglio1, qui l'avviso non compare e i fogli possono essere tutti selezionati.
Allegati:
You must be logged in to view attached files. -
AutoreArticoli
