Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
Nascondi tutti i fogli di Jellyfish data: 14/10/2012 15:03:09
Come faccio a dire: "nascondi tutti i fogli tranne il foglio chiamato "home" (perchè un foglio aperto deve esistere giusto?)"
di Vecchio Frac data: 14/10/2012 15:40:05
Crea un ciclo per tutti i fogli (ad ogni ciclo il foglio corrente viene associato ad una variabile di tipo Sheet), ad ogni passaggio verifichi che la proprietà Name di ogni variabile-foglio sia diversa da "Home", se lo è imposta la proprietà Visible della variabile-foglio su False.
Adesso traduci questo pseudocodice (si dice così, non l'ho inventato io ^_^) in codice comprensibile a VBA :)
di Jellyfish data: 14/10/2012 15:48:04
Ci provo:
Sub Nascondi_Tutti_Fogli_tranne_Home()
Dim Foglio As sheet
For Each Foglio In Worksheet
If Foglio.Name = "Home" Then
Exit Sub
Else
Foglio.Visible = False
End If
Next
End Sub
Non la metto come cidice perchè non lo so scrivere il codice io :(
di Jellyfish data: 14/10/2012 16:02:27
NO l'exit sub non ci va :(
di Vecchio Frac data: 14/10/2012 16:20:15
No, non ci va, infatti non devi semplicemente fare niente.
Rovescia il ragionamento di questo codice e dì ad Excel semplicemente: "se il foglio è diverso da "Home", nascondilo."
p.s. la variabile foglio va dichiarata di tipo Worksheet; l'insieme dei fogli è Worksheets.
di Jellyfish data: 14/10/2012 16:22:47
Cosi? Lo incollo?
Sub Nascondi_Tutti_Fogli_tranne_Home()
Dim Foglio As Worksheet
For Each Foglio In Worksheets
If Foglio.Name <> "Home" Then
Foglio.Visible = False
End If
Next
End Sub
di Vecchio Frac data: 14/10/2012 16:32:07
E' esattamente quello che, per prova, ho scritto io :)
Comunque, per provarlo, potevi incollarlo comunque e vedere se funzionava :P
di Jellyfish data: 14/10/2012 16:33:34
Siiiiiiiiiiiiiiiiiii funziona!!!
di Vecchio Frac data: 14/10/2012 17:54:14
LOL, mi piace l'entusiasmo delle nuove generazioni ^_^