Mi useresti la cortesia di postarmi il codice "funzionante" che hai testato sull'allegato che ho postato.
Forse ho commesso un errore di sintassi.
Forse ho commesso un errore di sintassi.
E' esattamente quello da te riportato in questo PostMi useresti la cortesia di postarmi il codice "funzionante" che hai testato sull'allegato che ho postato.
A me continua a scomparire.Certo. Funziona senza problemi. il Grafico 29 rimane lì, visibile, esattamente dove si trova.Ho sostituito "Grafico 29" ma non cambia nulla...il grafico continua a scomparire.
Avete fatto la prova direttamente voi?
A questo punto è possibile che tu abbia delle altre macro che eseguono operazioni del genere? e che vengano richiamate senza che tu ne sia consapevole?
TheTruster
Confermo che il nome del grafico l'ho desunto da ciò che appare dalla casella a sinistra, selezionando il grafico.A me continua a scomparire.
Altre macro che girano non ci sono (dovrebbero esserci altri codici giusto?)
Unico dubbio è quello del nome del grafico inesatto.
Come fai a stabilirlo?
Mi confermi che ci vai su cliccando l'area e ti compare il nome in alto a sx nella casellina?Questa opperazione avverebbe solo se è aperta anche la paginetta del codice...
Debug.Print sh.Name
Picture 6
Picture 7
Picture 8
Picture 9
Grafico 16 '<--------
Grafico 19 '<--------
Picture 21
Picture 22
Picture 23
Picture 24
Picture 25
Picture 26
Picture 27
Picture 28
Grafico 29 '<--------
Comment 1
Comment 2
Comment 3
Comment 4
Comment 5
Comment 10
Comment 11
Comment 12
Comment 13
Comment 14
Comment 15
Comment 17
Comment 18
Comment 20
For Each Sh In ActiveSheet.Shapes
Debug.Print Sh.Name
If Sh.Name <> "Grafico 29" Then
Sh.Top = 140
Sh.Left = 130
Sh.Visible = msoFalse
Else
Stop
End If
Next
Io non sto dicendo che avete torto ...ci mancherebbe.Adesso siamo in due a darti conferma che la modifica proposta da@TheTruster , ancora nel post #7, è risolutiva e dato che ora siamo al post #24 credo che hai 'taciuto' altro oltre a quanto hai riportato fino ad ora.
Figurati...Grazie!
Mi hai fornito preziose informazioni!!
Guarda, il codice l'hai ottenuto ed hai constatato personalmente che funziona... più di questo non credo si possa fare.Niente da fare!
Ti posto il file originale...Guarda, il codice l'hai ottenuto ed hai constatato personalmente che funziona... più di questo non credo si possa fare.Niente da fare!
Se non puoi postare il file originale, tutto ciò che è stato fatto è il massimo che si può ottenere, per cui, almeno il lavoro di adattamento tocca farlo a te.
TheTruster
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dgr As String
If Not Intersect(Target, Range("P37").Precedents) Is Nothing Then
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
Sh.Visible = msoTrue
If Sh.Name <> "Grafico 31" Then
Sh.Top = 140
Sh.Left = 130
Sh.Visible = msoFalse
End If
Next
dgr = [P37].Value
If dgr = "NEVE" Then
ActiveSheet.Shapes("Neve").Visible = True
ElseIf dgr = "PIOGGIA" Then
ActiveSheet.Shapes("Pioggia").Visible = True
ElseIf dgr = "GELICIDIO" Then
ActiveSheet.Shapes("Gelicidio").Visible = True
ElseIf dgr = "PIOGGIA MISTA A NEVE O NEVE BAGNATA" Then
ActiveSheet.Shapes("Mista").Visible = True
End If
End If
End Sub
Sub MostraShapes()
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
Sh.Visible = msoTrue
Next
End Sub
Non penso che si attivi una nuova macro ogni vollta.Non ho ancora visto il file originale ma non è che il grafico viene generato da qualche altra macro nuovo ogni volta e pertanto prende sempre un numero diverso ?
Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!