Condividi:        

Prezzi borsa 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

Prezzi borsa EXCEL

Postdi Gianpa12 » 28/06/10 10:30

Buongiorno,
immaginate che nella cella A1 di excel ci sia il risultato di una funzione che varia al variare dei giorni (Es: serire storica dei prezzi di borsa) e immaginate di non avere accesso a questa serie storica.
Ipotizzate che nella cella B2 ci sia la seguente formula= 0,1*A1.
Ipotizzate che nella cella B3 ci sia la seguente formula= 0,1*A1.
Ipotizzate che nella cella B4 ci sia la seguente formula= 0,1*A1.
ora ipotizzate anche che:
nella cella B1 ci sia la data 19/2/2010
nella nella B2 ci sia la data 20/2/2010
nella cella B3 ci sia la data 21/2/2010

Date queste ipotesi, la domanda è: se cambia A1 (ricordate che A1 viene da una fonte esterna che non conosco), mi cambiano ovviamente anche le celle B2, B3, B4. Come faccio a far si che B2 rimanga fissa al valore di A1 il giorno 19/2/2010 e non cambi appena passo al 20/2/2010.
Spero di essere stato chiaro :) . Grazie.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Sponsor
 

Re: Prezzi borsa EXCEL

Postdi Flash30005 » 28/06/10 11:03

Ciao Gianpa12 e benvenuto nel Forum

Non è proprio tutto chiaro....

Dici:"Ipotizzate che nella cella B2 ci sia la seguente formula= 0,1*A1.
Ipotizzate che nella cella B3 ci sia la seguente formula= 0,1*A1.
...
ora ipotizzate anche che:
nella nella B2 ci sia la data 20/2/2010
nella cella B3 ci sia la data 21/2/2010"
:roll:

(Non possono coesistere due formule nella stessa cella)

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Prezzi borsa EXCEL

Postdi Gianpa12 » 28/06/10 11:20

Hai ragione, scusa l'errore e grazie della risposta.
Riscrivo qui sotto le ipotesi e la domanda:

Immaginate che nella cella A1 di excel ci sia il risultato di una funzione che varia al variare dei giorni (Es: serire storica dei prezzi di borsa) e immaginate di non avere accesso a questa serie storica.
Ipotizzate che nella cella B2 ci sia la seguente formula= 0,1*A1.
Ipotizzate che nella cella B3 ci sia la seguente formula= 0,1*A1.
Ipotizzate che nella cella B4 ci sia la seguente formula= 0,1*A1.
ora ipotizzate anche che:
nella cella A2 ci sia la data 19/2/2010 (input)
nella nella A3 ci sia la data 20/2/2010 (input)
nella cella A4 ci sia la data 21/2/2010 (input)

Date queste ipotesi, la domanda è: se cambia A1 (ricordate che A1 viene da una fonte esterna che non conosco), mi cambiano ovviamente anche le celle B2, B3, B4. Come faccio a far si che B2 rimanga fissa al valore che assume A1 il giorno 19/2/2010 e non cambi appena passo al 20/2/2010?
Grazie.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: Prezzi borsa EXCEL

Postdi Flash30005 » 28/06/10 12:15

Se permangono le formule è ben difficile che il valore nella colonna B non si modifichi al variare di A1, che ne pensi?
Il quesito è risolvibile attraverso una macro.
Suppongo che per "input" intendi inserimento manuale della data (?)
Se così,
scrivi in B1 il valore 0,1 (nel caso volessi cambiarlo senza intervenire nella macro)
poi nel VBa del foglio inserirai questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "A2:A65000"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Or Target = "" Then Exit Sub
    Riga = Target.Row
    Range("B" & Riga).Value = Range("B1").Value * Range("A1").Value
End If
End Sub

Ogni volta che aggiungerai una data nella colonna A avrai nella colonna B (stessa riga) il valore di B1 moltiplicato il valore di A1.

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Prezzi borsa EXCEL

Postdi Gianpa12 » 28/06/10 12:33

ottima idea e ci siamo quasi.
Con la macro che mi hai indicato e usando l'esempio originario, quando aggiungo una data in A5 (input) allora B5 si attiva correttamente grazie alla tua macro. Però se cambio il valore in A1, mi cambia anche B2, B3, B4 invece a me servirebbe che rimanessero fermi. Ok?
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: Prezzi borsa EXCEL

Postdi Flash30005 » 28/06/10 13:08

Gianpa12 ha scritto:.... Però se cambio il valore in A1, mi cambia anche B2, B3, B4 ..


Assolutamente no!
Non possono cambiare, quei valori cambiano solo se ridigiti la data in A2, A3 A4
in quanto non c'è più la formula ma viene assegnato il valore dalla macro.

Prova ad usare la macro e vedrai che i valori rimangono invariati anche se cambi A1

Ciao


Ps. ricorda di inserire la macro nel VBA del foglio, non nel modulo
anzi aggiungo il file ore 14:12
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Prezzi borsa EXCEL

Postdi Gianpa12 » 28/06/10 18:09

Ok, funziona, grazie mille!

Sempre sullo stesso tema, se ho i seguenti input:
Cella A1= 40179
Cella A2= 40180
Cella A3= 40181
Cella A4= 40182
Cella A5= 40183

e

Cella B1= 0
Cella B2= 1
Cella B3= 0
Cella B4=1
Cella B5=0

Come faccio a far si che, excel mi scelga il minimo valore della colonna A, tra quelli che hanno 1 nella colonna B nella rispettiva riga?
G
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: Prezzi borsa EXCEL

Postdi Flash30005 » 28/06/10 22:24

Con una macro tipo questa
Codice: Seleziona tutto
Sub TrovaMin()
UR = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
    Range("A1:A" & UR).ClearFormats
M_Val = 100000
For RR = 1 To UR
    If Range("B" & RR).Value = 1 And Passo = 0 Then
        Val1 = Range("A" & RR).Value
        If Val1 < M_Val Then
            M_Val = Val1
            Riga = RR
        End If
    End If
Next RR
MsgBox " Il Valore più basso è " & M_Val & " alla riga " & Riga '<<<< Togliere o commentare
    Range("A" & Riga).Interior.ColorIndex = 3
    Range("A" & Riga).Font.ColorIndex = 2
    Range("A" & Riga).Font.Bold = True
End Sub

Il messaggio lo puoi togliere o commentare
Il primo dato inizia (come hai detto) nella cella A1 del Foglio2,
possono esserci migliaia di dati
La macro troverà il primo valore più basso (in corrispondenza del valore 1 in B)
Sarà evidenziata la cella con il suddetto valore
Ad ogni riavvio si resetta la formattazione delle celle

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Prezzi borsa EXCEL

Postdi Anthony47 » 28/06/10 22:56

Oppure, con formula:
Codice: Seleziona tutto
=MIN(SE(B1:B100=1;A1:A100;""))
da confermare con Contr-Maiusc-Enter

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

Re: Prezzi borsa EXCEL

Postdi Gianpa12 » 29/06/10 11:28

Grazie mille!
Buona giornata.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10


Torna a Applicazioni Office Windows


Topic correlati a "Prezzi borsa EXCEL":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti