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
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: [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
Avatar utente
Anthony47
Moderatore
 
Post: 19227
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: Nessuno e 69 ospiti