Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL - VBA] Da stringa a variabile

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

[EXCEL - VBA] Da stringa a variabile

Postdi Jack09 » 06/08/10 08:39

Ciao a tutti!
è passato un anno dall'ultimo mio post, e nel frattempo ho migliorato le mie conoscenze di vba, ma mi ritrovo a dover richiedere nuovamente il vostro aiuto. Penso sia una cosa banale ma non sono riuscito a reperire soluzioni sulla rete ...

Faccio un esempio pratico:

______________________________________________________
Dim Media
Dim Sqm
Dim Var

Media = Cells(i + 1, 2)
Sqm = Cells(i + 1,3)
Var = Cells(i + 1,4)

Combobox1.Additem "Media"
Combobox1.Additem "Sqm"
Combobox1.Additem "Var"

IF Combobox1.Value > Textbox1.Value THEN (...)

______________________________________________________

Praticamente l'utente sceglie dalla combobox la variabile da utilizzare nel IF,

PROBLEMA: Combobox1.Value mi riporterà il valore stringa ossia "Media" ad esempio mentre vorrei che considerasse Media come variabile in modo tale da riportare il valore associato alla variabile, praticamente quello in Cells(i +1,2).

DOMANDA:In definitiva vorrei sapere se esiste un modo per far leggere/trasformare a VBA un valore stringa in variabile, questo per evitare una serie infinta di -Select Case- ed -IF-

Grazie a tutti per l'aiuto!
Jack09
Utente Junior
 
Post: 17
Iscritto il: 19/08/09 20:36

Sponsor
 

Re: [EXCEL - VBA] Da stringa a variabile

Postdi Flash30005 » 06/08/10 10:27

Se racchiudi una variabile es. Media tra le virgolette "Media" non è più una variabile ma diviene una stringa di cinque caratteri (Media)

quindi dovrai usare questo codice
Codice: Seleziona tutto
ComboBox1.AddItem Media
ComboBox1.AddItem Sqm
ComboBox1.AddItem Var


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL - VBA] Da stringa a variabile

Postdi Jack09 » 06/08/10 17:28

Ciao Flash,

ti ringrazio per la "tempestiva" risposta ... :)

facendo come dici praticamente mi riporta nella combobox il valore corrispondente, ma non essendo questo fisso cambierebbe ogni volta, quello che vorrei e che nella combo box apparisse proprio la parola "Media" (come stringa) ma quando va a leggere la condizione: IF combobox1.value considerasse il valore assegnato in quel momento alla variabile Media...

altrimenti dovrei fare if combobox1.value = media then.... ; if combobox1.value = Sqm then ; cosi per tutte le variabili sarebbe una perdita di tempo e un codice non efficiente.
Jack09
Utente Junior
 
Post: 17
Iscritto il: 19/08/09 20:36

Re: [EXCEL - VBA] Da stringa a variabile

Postdi Anthony47 » 06/08/10 21:12

Non credo che esita una forma di "indiretto" nel vba, ma probabilmente lo puoi simulare nel tuo codice:
-vedo che Media corrisponde alla colonna B, Sqm alla C, Var alla D.
-puoi quindi alimentare il combobox con "2-Media", "3-Sqm", etc
-estrai poi il primo crt del valore (o la parte fino al "-") e usi quel "valore" nelle istruzioni successive per eseguire le operazioni corrispondenti

Se con questo spunto non risolvi allora posta ancora magari con tutto il codice della macro.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL - VBA] Da stringa a variabile

Postdi Jack09 » 07/08/10 20:34

Grazie ragazzi, alla fine ho optato per uno switch:

y = Switch(ComboBox2.Value = "Media", Media, ComboBox2.Value = "Sqm", Sqm, ComboBox2.Value = "Var", Var)

anche se ho letto che nelle routine risultano più pesanti in termini di tempo rispetto a IF/Select Case... :-?
Jack09
Utente Junior
 
Post: 17
Iscritto il: 19/08/09 20:36


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL - VBA] Da stringa a variabile":


Chi c’è in linea

Visitano il forum: Marius44 e 20 ospiti