Domanda:
Fabio: Ciao, ho necessità di inserire all’interno di una variabile il valore contenuto in un’altra variabile che fa parte di un gruppo di variabili composte da una parte letterale e da una numerica. esempio, voglio costruire parole casuali, inserisco le lettere dell’alfabeto in variabili che chiamerò da L1 ad L26, poi nella variabile ”parola metterò con dei cicli il valore contenuto nella variabile Lx+ Ly+Lz e così via. come posso far sì che Lx o Ly o Lz sia riconosciuta come variabile e non come testo?
Risposta:
Se capisco bene si vuole usare delle variabili L1, L2, L3… L26.
Bene, in VBA tutto ciò non ha senso! Si devono usare gli Array.
Un erray è una variabile composta da un numero definito di caselle indirizzabili attraverso un numero (in realtà VBA èben più flessibile ma per cominciare restiamo alla parte numerica)
Quindi si definisce una variabile come
Dim L(1 To 26) As String
e quindi si utilizzano i 26 spazi cosi definiti attraverso:
L(1) = "A" L(2)= "B" .... L(26)="Z"
Questa è la tecnica più semplice per indirizzare le 26 caselle della variabile. In realtà questa rappresentazione abilita la potenza dei cicli For…Next e similari attraverso un indice per scorrere le variabili
Quindi ad esempio per riempire le 26 celle sarà sufficiente utilizzare un semplice ciclo For..Next:
For i = 1 To 26 L(i) = Chr(64 + i) Next i
..che esegue egregiamente il compito riempiendo la variabile delle 26 lettere maiuscole.
A questo punto si può comporre la “parola” casuale richeista come per esempio con questo semplice codice:
parola = "" For i = 1 To Lunghezza 'lunghezza della parola Indice = Int(Rnd * 26) + 1 parola = parola & L(Indice) ' carattere a caso Next i
per ottenere ad esempio questo risultato:
Il file di esempio è qui disponibile: parola_casuale
Andrea Terzaghi
Ultimi post di Andrea Terzaghi (vedi tutti)
- Refresh in the Website! - 28 Settembre 2017
- Word Cloud - 19 Ottobre 2016
- Extract data from an image or a PDF - 7 Luglio 2016
- Divertissement mathématique - 12 Maggio 2016
- IRPEF, Tasse, Sconti progressivi e sconti regressivi - 25 Aprile 2016