Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

grafico non si chiude

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

grafico non si chiude

Postdi raimea » 27/08/17 21:39

ciao
ho una macro x creare un grafico tramite pulsante ---> e funzina
con lo stesso pulsante poi dovrebbe chiudermi il grafico
ma invece non mi si chiude piu'

in un altro file funziona qui non so perche' non chiude il grafico

si tratta della macro: graficodiario, nel fgl diario ,nel modulo 3
-------
Codice: Seleziona tutto
Sub graficodiario()

 
ActiveSheet.Unprotect
If gg = 0 Then

'---------------------------
   If [c7] = "" Then
         MsgBox "il diario non ha nessuna data...", vbCritical
       
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingColumns:=True, AllowFormattingRows:=True
       
      Exit Sub
    End If
'-----------------------------
    Dim r
    ActiveSheet.Shapes.Range(Array("Rounded Rectangle 10")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Graf. Nascondi"
   
   
    If Cells(7, 3) = "" Then Exit Sub    ' cell c7
    r = Cells(2, 16) + Cells(3, 16) + 3  ' celle p2 e p3
   
    ActiveSheet.ChartObjects("Grafico 14").Visible = True
    ActiveSheet.ChartObjects("Grafico 14").Activate

'--dp ci sono i valori--

    ActiveChart.SeriesCollection(1).Values = "='diario1'!$bd$7:$bd$" & r + 3  '3 numero da variare secondo i casi
    ActiveChart.SeriesCollection(1).XValues = "='diario1'!$bb$7:$bc$15" & r + 3
   
    Cells(1, 1).Select
    gg = 1
Else
    ActiveSheet.Shapes.Range(Array("Rounded Rectangle 10")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Graf. Vedi"
   
    ActiveSheet.ChartObjects("Grafico 14").Visible = False
    Cells(1, 1).Select
    gg = 0


End If

       
Range("a20").Select
End Sub

------
vi allego il file
https://www.dropbox.com/s/hn5op5bxa83ad3k/test.rar?dl=0

grazie
ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1244
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: grafico non si chiude

Postdi Anthony47 » 27/08/17 22:57

La tua macro contiene, all'inizio
Codice: Seleziona tutto
If gg = 0 Then

Ma la variabile gg non e' dichiarata da nessuna parte, quindi assume il significato standard di una variabile che esiste solo durante l'esecuzione della Sub graficodiario, per cui l'impostazione che fai a un certo punto
Codice: Seleziona tutto
    gg = 1

viene perduta all'esecuzione di End Sub, in modo che la If gg = 0 risultera' sempre "Vera"

Dichiara la variabile gg in testa al modulo e avrai l'effetto flip-flop:
Codice: Seleziona tutto
Dim gg As Long               'Rigorosamente in testa al Modulo

Oppure, se serve anche in altri moduli, la devi dichiarare tramite Public (invece che Dim), sempre in testa a un Modulo standard.
Per informazioni, guarda l'help on line del vba alla voce "Area di validità e visibilità"

Ciao

keywords
area validità variabile validita' variabile non mantiene il valore
Avatar utente
Anthony47
Moderatore
 
Post: 17043
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: grafico non si chiude

Postdi raimea » 28/08/17 06:34

ciao
risolto,
mancava infatti la dichiarazione ad inizio modulo

grazie
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1244
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "grafico non si chiude":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti