variabili parametriche



  • variabili "parametriche"
    di Luca (utente non iscritto) data: 12/02/2014 14:46:16

    Salve a tutti,
    non so se il titolo del thread è corretto, provo a spiegare quello che mi serve.

    In pratica quello che vorrei è la possibilità di creare/utilizzare un numero di variabili non fissato a priori, ma modificabile, per esempio scelto dall'utente. (un dato valore "k").

    Quindi poi la macro deve creare o utilizzare k-variabili per una data operazione.

    Per ora a me serve solamente capire come fare, quindi sto utilizzando una macro di prova, che allego sotto.

    Ora nell'esempio il numero di variabili è fisso, in futuro dovrà essere variabile e pari a k, quindi anche il for successivo dovrà utilizzare le variabili esi con i che va da 1 a k.
    Io ho provato con:
    -concatenate
    -es + i
    -es & i
    -con virgolette
    -con .Value

    sempre errori....


     
    Sub variabili_parametriche()
       Dim sh1 As Worksheet
       Set sh1 = Worksheets("Foglio1")
       
       es1 = sh1.Range("A1").Value
       es2 = sh1.Range("A2").Value
       
       k = sh1.Range("K1").Value
       
         For i = 1 To k
          sh1.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Formula = Concatenate(es, i)
          Next i
         End
    
    End Sub
    



  • di scossa data: 12/02/2014 14:58:39

    Ma nella tua sub di esempio QUALI sarebbero le variabili che consideri "parametriche"?



  • di Vecchio Frac data: 12/02/2014 15:41:33

    cit. "a me serve solamente capire come fare"
    ---> Il punto è che non sappiamo cosa vuoi fare, perchè in astratto "la possibilità di creare/utilizzare un numero di variabili non fissato a priori" esiste mediante il dimensionamento dinamico di una matrice. Le matrici dinamiche si dichiarano con "Dim variabile()" dopodichè si utilizza l'istruzione "ReDim variabile(x, y)" per definire il numero di dimensioni (e di elementi) della matrice.
    Con Excel poi non sarebbe nemmeno strettamente necessario, visto che ogni cella di ogni foglio a disposizione può essere considerata una variabile (globale) già disponibile :)





  • di Luca (utente non iscritto) data: 12/02/2014 16:36:28

    Scusate se sono stato poco chiaro...le variabili "parametriche" sarebbero es1 e es2. In realtà nell'esempio allegato queste erano in numero fisso: riscrivo la macro come dovrebbe essere.

    Quello desidero è che vengano create k variabili (io ho provato inutilmente ad usare un ciclo for che va da 1 = i a k).
    Poi queste k variabili devono essere, per esempio, ricopiate in date celle.

    @Vecchio Frac: il tuo potrebbe essere un suggerimento. Non lo so fare, ma direi che posso provarci!

    P.S: io sono completamente fuori strada?
     
    Sub variabili_parametriche()
       Dim sh1 As Worksheet
       Set sh1 = Worksheets("Foglio1")
      
        k = sh1.Range("K1").Value   
    
     For i = 1 To k
       esi = sh1.Range("A" & i).Value
     Next i
       
     
       
         For i = 1 To k
          sh1.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Value = esi 'non funziona!!
          Next i
         End
    
    End Sub
    
    



  • di patel data: 12/02/2014 17:04:40

    è inutile creare k variabili per poi ricopiarle in date celle, tanto vale scrivere direttamente in un range di celle ed utilizzare queste come variabili






  • di Luca (utente non iscritto) data: 12/02/2014 17:09:19

    scusami, non ho capito :(



  • di patel data: 12/02/2014 17:27:00

    ho detto in altre parole ciò che ti ha spiegato prima vecchio frac, o utilizzi un array oppure un range di celle, faresti meglio a proporre un problema reale e vedrai che la soluzione si trova.





  • di Luca (utente non iscritto) data: 12/02/2014 21:00:00

    Allora domani provo e vedo che cosa riesco a tirare fuori!



  • di Luca (utente non iscritto) data: 14/02/2014 16:27:51

    Eccomi:

    Avevate ragione, non erano necessari gli array. Ho creato un range di celle e ho risolto!

    grazie per i suggerimenti!