Uso valori colonna Excel



  • Uso valori colonna Excel
    di fra87ca (utente non iscritto) data: 22/11/2015 20:08:56

    Salve a tutti,
    vorrei sapere come selezionare una colonna di valori che ho su un foglio excel (ad esempio da "C3" a "C9"), imponendo però il cambio di cella in funzione di una variabile. Ad esempio, se volessi passare dalla cella C3 alla cella C4 in funzione di una variabile t, è corretto usare questo tipo di comando:

    y = Cells(t +3, 3).Value ??? t in questo caso è la mia variabile che va da 0 a 6.

    Vi ringrazio per le vostre eventuali risposte.



  • di alfrimpa data: 22/11/2015 22:30:46

    Ciao

    La tua spiegazione non è chiara.

    Allega un file di esempio dove illustri il tuo problema ed il risultato che vuoi ottenere.

    Alfredo





  • di fra87ca (utente non iscritto) data: 23/11/2015 00:32:18

    Ciao,
    il mio problema è questo: i valori di C sono presenti nella prima colonna nel file excel (perchè li ho inseriti io) e sono tutti diversi tra loro. Quello che voglio ottenere io è che, per ogni T, il programma prenda la casella corrispondente di C (quindi, ad esempio, per T=1 prenda il valore di C della cella A1) e mi calcoli un valore Vd. Poi vorrei inserire, per ogni T, il valore di Vd nella colonna B.
    Fino ad ora ottengo valori di Vd tutti uguali tra loro.
    Grazie per l'aiuto
     
    Sub Pulsante1_Click()
    
    Ndays = 100
    Ntrials = 100
    Randomize
    Pi = 3.14
    
    For T = 1 To Ndays
    For j = 1 To Ntrials
    u1 = Rnd
    u2 = Rnd
    
    C = Cells(10 + T, 1).Value
    
    N = 0.23 + 0.15 * (-Log(u1)) * Cos(2 * Pi * u2)
    k = 0.95
    g = 123
    kRT = Exp(323 * ((1 / 15) - (1 / 22)))
    kcl = 0.2
    r0 = 123
    ro = r0 * k * g * kcl * (365 / 28) ^ N
    m0 = 875
    k = 2.63
    Ccr = 0.04
    
    P = 1 + k * (C - Ccr)
    V = m0 * P / ro
    Vd = V * 0.32
    
    Next j
    Next T
    
    For T = 1 To Ndays
    Cells(T + 10, 2).Value = Vd
    Next T
    
    End Sub
    



  • di Mister_x (utente non iscritto) data: 23/11/2015 10:35:26

    ciao

    non vorrei entrare nei particolari della tua sub(), comunque partiamo dal presupposto che le variabili vanno tutte dichiarate,
    quindi incominciamo ad inserire in alto un bel OPTION EXPLICIT
    dichiarazioni delle variabili DIM variabile AS cosa Variant string long single double ecc. ecc.
    istruzione Randomize

    dim variabile as long
    randomize
    variabile = Int((100 * Rnd) + 1) ' Genera un valore casuale compreso tra 1 e 100.

    e per il tuo caso cosi' a spanne togli quel ciclo
    For T = 1 To Ndays
    Cells(T + 10, 2).Value = Vd
    Next T
    e al scrittura della cella la metti nel ciclo precedente in quanto tu T lo tratti gia prima
    Vd = V * 0.32
    Cells(T + 10, 2).Value = Vd
    Next j
    Next T
    in questo caso il valore di Vd cambia e non e' fisso

    comunque postare sempre un file di utilizzo perché ricostruire il tutto e' difficile, come ti aveva gia' accenna to Raffaele , che saluto

    ciao

    PS sono nato stanco e vivo per riposare