Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Puntare ad un Oggetto Chart

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

Puntare ad un Oggetto Chart

Postdi A.Maurizio » 15/03/16 10:55

Ciao a tutti , la mia Ricgiesta anche sè un pochino insolita e questa :
Visto che con il VBA si pùò fare qualsiasi cosa , e possibile riuscire a colpire esattamente un simbolo inserito in una Chart usando il Codice VBA.
Mi spiego meglio Ho creato una Chart che a la Funzione di un Orologio Analogico , solo che da quando stò tentando sul Web di Cercare qualcuno che mi dia la possibilità di colorare ad ogni cinque minuti una dei simboli inseriti in tale orologio , Non trovo nessuno in grado di rispondere con chiarezza a tale Domanda .
Ecco spiegato il motivo , per qui tento altre strade , magari sfruttando il VBA.
In Pratica (Ripeto) Se per far si che : Una lancetta dei Minuti crei la funzione di Cambiare il Coloro ad ogni scadere dei Cinque Minuti ; E passare quindi da un Colore normalmente "Nero) ad un colore "Rosso".
Usando questo Codice : =SE(RESTO(C8;5)=0;NON.DISP();SEN(RADIANTI(D8))*I8)
Io mi stavo chiedendo sè fosse e come !
Possibile Far fare la Stessa Finzione Mirando anche solo ad uno dei Simbolo esterni alle lancette al resto poi ci penserei io a completare il tutto .
Per simboli Esterni io intendo quelli messi sempre via Coordinate o codice che sia che stanno ad indicare le Ore e i Minuti al posto dei Calssici Numeri o di una immagine che funga da Quadrante , tutto qui .
Grazie Sin da ora per tutto l'aiuto che vorrete darmi in merito ; Sinceri saluti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Sponsor
 

Re: Puntare ad un Getto Chart

Postdi Anthony47 » 15/03/16 22:28

Mah.... "probabilmente si puo' fare", ma bisognerebbe conoscere un po' piu' in dettaglio come e' costruito questo orologio e quali "elementi" sono da colorare.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Puntare ad un Getto Chart

Postdi A.Maurizio » 18/03/16 11:07

Grazie infinite Anthony per il Tuo Interessamento , ti invio subito il mio Link dove u puoi Scaricare il Tutto .
Ciao e fai pure con calma non ho Fretta ; Sincerei Saluti da Maurizio
Link : https://app.box.com/s/ib9r8j45j4yjyc4i0w7z8mxd2etrb8ri
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Puntare ad un Oggetto Chart

Postdi Anthony47 » 19/03/16 19:35

Ok, allora vuoi colorare uno degli indicatori dei punti della serie con cui marchi i 5 minuti e le ore

Una volta selezionato il grafico, accedi a tutti i marker della serie con
Codice: Seleziona tutto
ActiveChart.SeriesCollection(4)
e al singolo punto con
Codice: Seleziona tutto
ActiveChart.SeriesCollection(4).Points(n)

Ora supponiamo che indichi in C10 il numero del marker che vuoi colorare (1-12) potrai applicare il rosso a quel marker lasciando bianchi tutti gli altri con queste istruzioni:
Codice: Seleziona tutto
        ActiveSheet.ChartObjects("Grafico 3").Activate
        With ActiveChart.SeriesCollection(4)
            .Format.Fill.ForeColor.RGB = RGB(250, 250, 250)
            .Points(Range("C10").Value).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
        End With
        ActiveWindow.RangeSelection.Select

Io le ho inserite nella macro di On Time, che pertanto diventa:
Codice: Seleziona tutto
Sub Time()
On Error Resume Next
    If Collegamento Then
        ActiveSheet.Calculate
       
        Application.ScreenUpdating = False
        ActiveSheet.ChartObjects("Grafico 3").Activate
        With ActiveChart.SeriesCollection(4)
            .Format.Fill.ForeColor.RGB = RGB(250, 250, 250)
            .Points(Range("C10").Value).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
        End With
        ActiveWindow.RangeSelection.Select
        Application.ScreenUpdating = True
       
        Application.OnTime Now() + TimeValue("00:00:01"), "Time"
    If Range("C8").Value = "57" Then
    Foglio1.Range("G12:H23").Fill.ForeColor.RGB = RGB(255, 255, 0)
    End If
    End If
End Sub

Per render realistico il test io o inserito in C10 la formula
Codice: Seleziona tutto
=ARROTONDA.MULTIPLO(MINUTO(E4)/5;1)


Puo' essere utile ripristinare sul bianco i marker quando fermi l'orologio, altrimenti (visto che l'orologio si aggiorna in ogni caso quando il foglio esegue qualsiasi ricalcolo) ti troveresti prima o poi inevitabilmente con il marker colorato nella posizione che non c'entra nulla con l'orario mostrato. L'ho fatto in questo modo:
Codice: Seleziona tutto
Sub Ferma_Orologio()
On Error Resume Next
    Collegamento = False
        ActiveSheet.ChartObjects("Grafico 3").Activate
        With ActiveChart.SeriesCollection(4)
            .Format.Fill.ForeColor.RGB = RGB(250, 250, 250)
        End With
        ActiveWindow.RangeSelection.Select
End Sub


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Puntare ad un Oggetto Chart

Postdi A.Maurizio » 21/03/16 18:53

Grazie Infinite ancora una Volta Anthony , lo sempre sostenuto e continuerò a dire che sei un Grande .
Ora proverò il Tutto e poi ti faro sapere , ma solo come Gringraziamente nei tuoi confronti , in quanto non ho dubbi che funzionerà alla perfezione ; Ciao e Buona Serata amico mio Saluti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Puntare ad un Oggetto Chart

Postdi A.Maurizio » 22/03/16 20:14

Ciao Anthony Come avevo ribadito Ieri Sera il Tuo Aiuto e a dir Poco Fantastico Funziona alla Grande e sono anche riuscito a Capire altre cose in più ; Tanto e vero che ho anche inserito ina Didascalia dove si può Inserire il proprio Nome e Ottenere L'ora Digitale .
Tutto all'interno della Chart ; Grazie infinite Sei un Grande; Saluti Sinceri da A.Maurizio

(P.s) Si vas alguna vez a España este verano me deja saber, sois mis invitados, usted y su familia Hi
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Puntare ad un Oggetto Chart

Postdi A.Maurizio » 23/03/16 20:28

Ciao Anthony scusami se ti disturbo , però senza il tuo Aiuto non posso fare nulla di Concreto .
Aora il discorso e questo : Nel mio primo progetto quello che ti Invio di Nuovo Ora , La cosa Funziona Benissimo , il problema che ho notato e che il colore rosso non Avviene entro i Cinque Minuti ; Ma Solo entro i Tre.
Poi Ho Provato a Rifare in Bella tale Progetto , Ma all'avvio di tutto questo non Funziona Perchè.
Eppure e Pari al Primo ?
Ti Invio il Link di Verifica : Grazie ancora di tutto Saluti da Maurizio :
https://app.box.com/s/raxbv78t7wviufz9j1uxig5os79rwcgb
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Puntare ad un Oggetto Chart

Postdi Anthony47 » 24/03/16 01:56

A me funziona, dopo aver avviato l'orologio.
Con la formula che abbiamo usato in C10, il colore viene applicato arrotondando i minuti; quindi 2 minuti prima e 3 minuti dopo.
Pero' mi accorgo che ci sara' un problema subito dopo la mezzanotte e il mezzoggiorno, quando per tre minuti nessun simbolo verra' colorato. Per evitare cio' dobbiamo modificare la formula di C10:
Codice: Seleziona tutto
=SE(ARROTONDA.MULTIPLO(MINUTO(E4)/5;1)=0;12;ARROTONDA.MULTIPLO(MINUTO(E4)/5;1))


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Puntare ad un Oggetto Chart

Postdi A.Maurizio » 24/03/16 16:09

Ciao Anthony promesso che non ti disturbo più in quanto : ho Trovato il Difetto di Tutto .
In effetti ragionandoci un Pochino sù non poteva che essere fatta in Questo modo , e cioè :
=ARROTONDA.PER.DIF(MINUTO(E4)/5;0)
Ora Finziona alla Grande , era solo il Caso di Stare ad ossevare i minuti e sicuramente di sarei arrivato a Risolvere il tutto anche subito .
Comunque come dice il Saggio (Tutto e bene Quel che finisce bene ) e l'ultimo chiude la porta.
Ciao da Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39


Torna a Applicazioni Office Windows


Topic correlati a "Puntare ad un Oggetto Chart":


Chi c’è in linea

Visitano il forum: wallace&gromit e 25 ospiti