Condividi:        

Trasformare un GRAFICO in valori Excel

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

Re: Trasformare un GRAFICO in valori Excel

Postdi Anthony47 » 19/01/23 11:25

In aggiunta a quanto proposto da W&G sopra...

Guarda questo file:
https://www.dropbox.com/s/fgdboj4aube4t ... .xlsm?dl=0
e' quello sviluppato ai tempi del quesito di scanacc con l'aggiunta del foglio FoglioDemo

Su questo foglio c'e' una implementazione di quanto forse chiedi.
In particolare:
-c'e' un controllo Immagine, impostato con la proprieta' BackStyle=Transparent...
...che copre il grafico ottenuto partendo dai dati in B13:E15

Selezionando un dato di una serie (es B13, 1° dato della prima serie) e cliccando poi sull'Immagine la nuova posizione Y viene scritta in B13, il grafico cambia, dopo 0.6 sec l'Immagine ritorna trasparente, la selezione e' passata sul secondo dato della prima serie che quindi ora puo' essere a sua volta modificata.

Il tutto e' gestito dalla Private Sub Image1_MouseDown che si trova sul modulo vba di FoglioDemo; per forzare la trasparenza di Immagine (che viene persa al momento del click), la Sub Flip_Cursor sposta il mouse fuori dal controllo e ve lo riporta dopo 0.6 secondi

Le istruzioni su come va usato sono riportate sul foglio ma le riassumo:
-Posizionate il grafico dietro l'oggetto Immagine
-Cancellare B10 e B11
-Cliccare sullo 0 del grafico per compilare B10 (se l'asse Y avesse anche valori negativi bisogna cliccare sempre sul livello dello 0, non del valore minimo)
-Cliccare sul Max del grafico per compilare B11
-Scrivete in C15 il Valore Max del grafico (deve essere coerente con la posizione cliccata al punto precedente)
A) Selezionate il valore di un elemento di una serie (es B17); cliccate sull' Immagine il valore che volete assegnare a quel punto
.a1) La selezione si sposta sulla cella a destra (elemento successivo della serie)
B) Ripetere per ogni punto che volete reimpostare

Vedi che uso riesci a farne...

Edit
Aggiungo: che l'asse Y del grafico deve essere impostato con limiti fissi (e non automatici), per evitare che durante le modifiche possa variare la scala verticale.
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: Trasformare un GRAFICO in valori Excel

Postdi Albyc8 » 19/01/23 18:30

Grazie ancora per la pazienza, vi spiego come ho proceduto ed i risultati ottenuti: ho creato un grafico in x e y con una sola serie, ho inserito un controllo immagine sovrapposta al grafico, nelle proprietà ho messo " Picture = (nessuna)" in " BackStyle = 0 Trasparent" , come codice ho inserito quello di Anthony47 del 17/01/16 01:00, ho referenziato gli assi e come uscita dati ho messo quella di origine del grafico. Così funziona e se clicco sul grafico, esso si aggiorna al nuovo valore ma purtroppo la proprietà BackStile trasparente, cioè il colore dello sfondo, riappare nel momento del click e scompare solo quando esco dall'area del grafico/controllo immagine.
Albyc8
Newbie
 
Post: 6
Iscritto il: 17/01/23 22:45

Re: Trasformare un GRAFICO in valori Excel

Postdi Anthony47 » 19/01/23 21:34

Se guardi nel file che ho allegato stamattina, c'e' una Sub Flip_Cursor che viene richiamata in coda alla Sub Image1_MouseDown, che ha lo scopo di portare il mouse fuori dall'Immagine e riposizionarlo dopo 0.6 sec
Questo ripristina la proprieta' su Trasparente aiutandoti a continuare.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasformare un GRAFICO in valori Excel

Postdi Albyc8 » 24/01/23 21:50

Nel tempo libero ho lavorato sul file del collegamento che mi hai dato e l'ho trovato utilissimo perché le mie basi di programmazione sono scarse ma all'interno ho trovato tutti gli strumenti che mi servivano. Per prima cosa ho aggiunto, nelle dichiarazioni "PtrSafe" necessario per i sistemi a 64 bit(facile, lo segnalava come errore e proponeva la soluzione) poi ho lavorato nella Sub di immagine per aggiungere un controllo sulla posizione del mouse in x e da questa ricavarne la selezione della corrispondente casella.
Il codice modificato è questo:
Codice: Seleziona tutto
Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim myZero

[H1] = Y


'
myZero = Application.Match("zero", Range("A:A"), 0)
If IsError(myZero) Then Exit Sub
If Cells(myZero, 2) = 0 Then
    Cells(myZero, 2) = Y: Cells(myZero, 4) = X
   
ElseIf Cells(myZero, 1).Offset(1, 3) = 0 Then
    Cells(myZero + 1, 4) = X - Cells(myZero, 4)
   
ElseIf Cells(myZero, 1).Offset(1, 1) = 0 Then
    Cells(myZero + 1, 2) = Cells(myZero, 2) - Y
Else
    Selection.Offset(0, (X - Cells(myZero, 4)) / Cells(myZero + 1, 4) * Cells(myZero + 1, 5) + 1).Select
    Selection.Value = (Cells(myZero, 2) - Y) / Cells(myZero + 1, 2) * Cells(myZero + 1, 3)
   
   
    Cells(myZero + 1, 6) = ((X - Cells(myZero, 4)) / Cells(myZero + 1, 4) * Cells(myZero + 1, 5))
    Selection.Offset(0, -Cells(myZero + 1, 6) - 1).Select
End If
Call Flip_Cursor
End Sub

 


Il "Foglio demo" ora risulta con questo aspetto

Immagine

quindi, oltre ai settaggi iniziali, ora rimane da selezionare solo la cella del colore della "Serie 1 " o 2 o 3.
Grazie ancora perché seguendo questa strada ho ottenuto un controllo completo del mouse sui valori del grafico.
Albyc8
Newbie
 
Post: 6
Iscritto il: 17/01/23 22:45

Re: Trasformare un GRAFICO in valori Excel

Postdi Albyc8 » 24/01/23 21:57

Ps: ho abbassato il tempo della Sub Flip_Cursor perché ho visto che interferisce solo con Click lunghi
Albyc8
Newbie
 
Post: 6
Iscritto il: 17/01/23 22:45

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Trasformare un GRAFICO in valori Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 54 ospiti