Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Ciclo di shapes nel foglio:come?

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

Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 23/04/21 12:38

Ciao a tutti,
Ho excel 2003 e tramite una query web importo 12 dati (sotto forma di numero decimale) in 12 celle diverse nel foglio di calcolo:
esempio:

12,5 nella cella A1
4,8 nella cella A2
0,8 nella cella A3 ecc...

Ogni dato viene riportato in un grafico (WetBulbGraph).
Inoltre a seconda del suo valore viene fatta comparire in una precisa zona del foglio una icona (GIF) che lo rappresenta.
Le icone disponibili sono 3 e così utilizzate:

GIF1 che compare se il valore è <=0
GIF2 che compare se il valore è >0 e <=2
GIF3 che compare se il valore è >2

Tramite questo codice (che premetto non è tutta farina del mio sacco) ,riesco a far comparire l'icona "Gif1" nel punto del foglio

(195,240) con dato numerico presente nella cella V21
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dgr As Single
  If Not Intersect(Target, Range("V21").Precedents) Is Nothing Then
    Dim Sh As Shape
    For Each Sh In ActiveSheet.Shapes
        Sh.Visible = msoTrue
        If Sh.Name <> "WetBulbGraph" Then
            Sh.Top = 195
            Sh.Left = 240
            Sh.Visible = msoFalse
        End If
    Next
    dgr = [V21].Value
    If dgr <= 0 Then
        ActiveSheet.Shapes("Gif1").Visible = True
    ElseIf dgr > 0 And dgr <= 2 Then
        ActiveSheet.Shapes("Gif2").Visible = True
    ElseIf dgr > 2 Then
        ActiveSheet.Shapes("Gif3").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


Chiedo: come bisogna modificare il codice per far comparire l'icona corrispondente e nel punto del foglio (xxx,yyy) che desidero per tutti gli altri 11 valori?
Bisognerebbe in pratica ripetere lo stesso ciclo per 12 volte
Ho provato ad intervenire e modificarlo ma non ci sono riuscito.
Grazie
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Sponsor
 

Re: Ciclo di shapes nel foglio:come?

Postdi Anthony47 » 23/04/21 19:06

Se ad esempio vuoi posizionare Gif1 in cella H1 allora userai
Codice: Seleziona tutto
'...
ActiveSheet.Shapes("Gif1").Top = Range("H1").Top
ActiveSheet.Shapes("Gif1").Left = Range("H1").Left
ActiveSheet.Shapes("Gif1").Visible = True
'...

Ora pero' mi pare che tu hai 3 immagini e le vuoi farle comparire in 12 punti diversi, che ovviamente non sara' possibile senza prima duplicarle.
Prima pero' di procedere su questa o altre strade, sei sicuro che tra i vari alfabeti simbolici (Webdings, Wingdings 1-2-3 e qualcun altro) non ci sia un simbolo altrettanto esplicativo?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 18116
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 23/04/21 19:58

Ciao Anthony,grazie per la risposta.
Non so risponderti in base agli alfabeti simboloci,non sono così esperto.
Credevo (erroneamente) bastasse qualche semplice istruzione di loop per risolvere la cosa.
La cosa va al di là delle mie conoscenze (minime) sull'argomento.
Ti mostro visivamente quello che fa il codice da me postato:
riesco solamente a far comparire l'icona desiderata di fianco alla stazione corrispondente ed il cui valore è posizionato alla sua destra.
Immagine
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Anthony47 » 23/04/21 20:27

Una stessa immagine non la puoi mettere in 12 posti diversi, vanno prima create 12 copie...

Copia in una cella excel questa stringa:
Codice: Seleziona tutto
ÖØÜÝÕÞßàáÔ

Poi formatta la cella col font Webdings e guarda come vengono visualizzati; sono simboli che ho pescato perche' mi sembrano attinenti con quello che vuoi rappresentare.
Da Windows apri "Mappa caratteri" e seleziona il font Webdings per vedere cosa e' gia' presente; altri fonti "simbolici" sono i vari Wingdings.

Se una di queste icone e' sufficiente allora bastera' in quelle celle scrivere il carattere corrispondente all'icona e applicare la formattazione e il gioco e' fatto.

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 18116
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 23/04/21 21:05

Fatto!
Grande Anthony!
Ci sono sia le icone che rappresentano la pioggia che la neve.
Manca la pioggia mista a neve,bisognerebbe trovare una alternativa,magari una goccia ed un fiocco vicini.
A questo punto credo sia sufficiente questa strada...
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 23/04/21 22:48

Immagineimage upload

Pioggia,neve e pioggia mista a neve:ci sono tutte e 3 :)
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Anthony47 » 24/04/21 09:28

Bene.
Hai quindi tutto, o...?
Avatar utente
Anthony47
Moderatore
 
Post: 18116
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 24/04/21 10:18

Anthony47 ha scritto:Bene.
Hai quindi tutto, o...?

Ho bisogno del tuo aiuto...non so come andare avanti!
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 24/04/21 12:10

Aspetta,però pensandoci bene potrebbe bastare anche una semplice formula del tipo:
Se nella cella XX il valore è <0 allora stampa il carattere T nella cella AB
Se nellla cella XX il valore è compreso tra 0 e 2 allora stampa il carattere U nella cella AB
Se nella cella XX il valore è >2 allora stampa il carattere V nella cella AB

Con la cella AB contenente la formattazione appropriata

che dici?
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 24/04/21 14:49

Ci sono riuscito!
Immettendo la formula
=SE(E12<=0;"T";SE(E(E12>0;E12<=1,7);"TS";"S"))
per ogni cella:
Immagine
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35

Re: Ciclo di shapes nel foglio:come?

Postdi Anthony47 » 26/04/21 01:39

Bravo per la soluzione che ti sei trovata da solo
Per il futuro, in prima battuta la mia proposta e' una tabella associata alla funzione CERCA.VERT; solo in seconda battuta la sequenza di SE.

Partiamo dalla tua formula: =SE(E12<=0;"T";SE(E(E12>0;E12<=1,7);"TS";"S"))

Fatti una tabellina con la temperatura e la relativa icona che deve comparire; tipo in Z1:AA6
Codice: Seleziona tutto
   Z        AA
  Gradi   Simbolo              NOTE
   -99       T             "T" e' il sibolo da usare per temperature tra -99 e 0
   0,01      TS            "TS" e' il sibolo da usare per temperature >0 e <=2
   1,71      S             "S" e' il sibolo da usare per temperature >2 e <=15
   15,01     R             "R" e' il sibolo da usare per temperature >15 e <=30
   30,01     RR            "R" e' il sibolo da usare per temperature >30


Ora se la temperatura e' in cella E12, con questa formula farai comparire l'icona corrispondente nelle cella desiderata:
Codice: Seleziona tutto
=CERCA.VERT(E12;Z1:AA10;2)

La mia teoria e' che la tabella e' piu' facile da impostare e gestire, soprattutto se si tratta di inserire numerose condizioni.
Per usare questo metodo, la colonna col valore da cercare deve contenere i dati in ordine crescente, e la scelta fatta si intende "a partire dal valore indicato fino al valore successivo"; quindi (con la mia tabella di esempio), a partire da -99 e fino a 0,01 (escluso) il simbolo scelto sara' T

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 18116
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ciclo di shapes nel foglio:come?

Postdi Paolo67 » 26/04/21 15:19

Grazie per il suggerimento Anthony,davvero interessante questa tua alternativa propostami.
Sicuramente la utilizzerò in caso di più condizioni.
Ciao ed ancora grazie
Paolo67
Utente Junior
 
Post: 67
Iscritto il: 20/04/21 20:35


Torna a Applicazioni Office Windows


Topic correlati a "Ciclo di shapes nel foglio:come?":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti