Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Assegnare un valore stringa variabile al nome di un variabile

  1. #1
    radiatorista non  in linea Scolaretto
    Come da Titolo ...
    in un ciclo ho bisogno di aggiornare il valore di piu variabili cambiando ad ogni loop il nome
    in a particolare il nome delle variabili ha una Parte Fissa mentre il suffisso cambia di volta in volta

    varF As String
            varF = "Farmaco" & varSuffissoCMD 'varSuffissoCMD  una variabile pubblica
                                                              ' che al momento del ciclo  gia stata valorizzata con un evento x_clik
            varF = Sheets("FUT").Range("AI7")
    
    Bozza di partenza
    cosi varF solo una stringa ....
    io vorrei che fosse la Variabile di cui ho bisogno!

    Grazie a chi mi aiuta!
    Ultima modifica di radiatorista; 20-05-2015 16:44 

  2. #2
    UGoldrake non  in linea Scolaretto
    Che te ne fai di una variabile che cambia nome? No, non voglio saperlo
    Senza saper nulla di quello che hai in mano...
    La cosa pi vicina a quello che hai chiesto un Array.
    in AI7 hai un nome, credo, potresti farti un array sfruttando il numero di riga:

    Dim varF (100) as String
       For i = 0 to 99
            varF(i) = Range("AI" & 7+i).value
       Next i
    
    Non la stessa cosa, ma almeno se devi recuperare la variabile del farmaco Pippo, che tu avresti chiamato varF-Pippo, puoi andare a vedere in che riga si trova Pippo (metti che sia 12), aggiungere 7 se parti dalla riga 7 a scrivere i farmaci (quindi 12+7=19), e usi il numero di riga in cui si trova Pippo: varF(19).
    Unica idea che mi venuta in mente, spero ti sia d'aiuto.
    Ciao. Ugo.

    P.S.: se invece ti serve per recuperare dati posti sulla riga del farmaco, ti consiglio un bel ciclo While...wend con If trovo il farmaco Then prendi tutti i dati della riga.

  3. #3
    radiatorista non  in linea Scolaretto
    Quote Originariamente inviato da UGoldrake Visualizza il messaggio
    Che te ne fai di una variabile che cambia nome? No, non voglio saperlo

    .
    E' proprio qui il nocciolo della questione
    Ho un textBox che si deve popolare con il valore di una variabile gi valorizzata.
    le variabili che devono popolare alternativamente la textbox hanno nomi tipo FarmacoEV01 FarmacoEV02 ...ecc ecc Cambia cio solo il Suffisso che ho messo in una variabile varSuffissoCMD

    io vorrei scrivere
    textBox.text ="Farmaco" & varSuffissoCMD (supponiamo che varSuffissoCMD sia valorizzato a "EV01")
    ma capisci bene che io vorrei vedere nella textbox il valore della variabile FarmacoEV01 (Es."ASPIRINETTA")
    ma capisci bene che cosi non va
    Please Help me
    Ultima modifica di radiatorista; 21-05-2015 01:07 

  4. #4
    Ma usare gli array ??
    ℹ️ Leggi di pi su AntonioG ...

  5. #5
    radiatorista non  in linea Scolaretto
    In primis grazie per la collaborazione
    Domanda da pivellino
    ma gli array si possono usare anche con valori stringa?
    nell esempio postato 100 e quindi la variabile i un Integer giusto?

    Dim varF (100) as String
    For i = 0 to 99
    varF(i) = Range("AI" & 7+i).value
    Next i


    A me il suffisso una stringa che viene aggiornata di volta in volta in base ad un evento click di un CommandButton
    ed EV01 oppure IM01, IM03 ,SC02 ecc,ecc

    dici che si puo lo stesso?
    tra l altro io
    pensavo a qlc del genere

    Dim Farmaco(varSuffissoCMD) As String
    
             Me.textbox = Farmaco(varSuffissoCMD)
    
    ...restituisce errore necessaria espressione costante


    nel frattempo mi vedo un po gli array

  6. #6
    Gli indici sono solo numerici, non stringhe.

    Quindi dimentica la "stringa suffisso", non la usare proprio. Usa una variabile numerica intera con valori 1, 2, 3 ... da usare con l'array e hai risolto, come normalmente per tutti i programmi.
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    UGoldrake non  in linea Scolaretto
    Perch ti ostini con le variabili che cambiano nome?
    Le variabili NON POSSONO cambiare nome, possono cambiare il loro VALORE.
    Quindi se usi un bell'Array che fatto cos:
    varF(0) = EV01
    varF(1)=IM01
    varF(2)=SC02
    varF(...)= Quello che ti pare
    puoi usare il concatenamento per creare il nome che vuoi: se "Farmaco" & varF(5) = "FarmacoRK07" allora textbox1 = "Aspirina"
    Devi solo farci capire da dove prendi i suffissi.
    Ciao.

  8. #8
    radiatorista non  in linea Scolaretto
    Forse non sono riuscito a spiegarmi.. io devo richiamare una variabile in una routine. Il nome della variabile da richiamare ha una parte fissa Farmaco + una parte diversa che chiamiamo suffisso.
    I suffissi li prendo leggendo le ultime 4 lettere del nome del pulsante nominato FarmacoEV01 farmacoEv02
    non so se mi sono ...capito ☺

  9. #9
    Non posso che ripeterti quello che ti ho detto sugli array, anche se ugoldrake ha confuso un po' la questione.

    Non devi avere tante variabili che iniziano con Farmaco ma devi avere un array Farmaco di tanti elementi quanto ti servono e usi gli indici per identificare l'elemento che ti serve.
    ℹ️ Leggi di pi su AntonioG ...

  10. #10
    radiatorista non  in linea Scolaretto
    ok . ho capito
    c avevo pensato in realt quando avevo deciso il nome delle variabili...poi ...essendo una capra ....
    mi dai qlc link dove studiare?
    tipo ...www. ArrayforDummy.it ��
    Grazie mille

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Assegnare nome di ogni singolo file ad una variabile
    Da Fapic nel forum ASP 3, ASP .Net
    Risposte: 0
    Ultimo Post: 26-10-2012, 20:33
  2. Risposte: 1
    Ultimo Post: 06-03-2012, 13:59
  3. Risposte: 6
    Ultimo Post: 10-08-2009, 17:17
  4. assegnare a una variabile il nome del file excel in uso
    Da lorddago nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 21-07-2009, 20:34
  5. Assegnare ad una variabile il nome del foglio
    Da Saint nel forum Microsoft Word
    Risposte: 6
    Ultimo Post: 21-05-2009, 12:17