EXCEL,macro: come faccio a costruire un ciclo condizionato da un valore in una determinata cella?
Premetto che io uso il foglio di calcolo di OpenOfficeOrg 3.4, ma è praticamente uguale ad Excel. Non ho alcuna cognizione di programmazione, uso solo il registratore (ma ho visto dove si può riscrivere il codice della macro, quindi va bene anche se qualcuno fornisse un pezzetto di codice). Il mio problema è costruire un ciclo in base a un valore che sta in una cella. Per esempio, vorrei far si che una determinata macro si ripeta finchè nella cella A4 (o altro) un determinato valore è pari o inferiore ad una determinata soglia. Come posso fare? Spero di essere stato chiaro nell'esposizione, e grazie in anticipo per eventuali risposte :) (10 punti per chi riesce ad aiutarmi)
1 risposta
- MaurizioLv 79 anni faRisposta preferita
Devi essere più concreto: il valore nella cella chi lo modifica?
Quando una macro sta lavorando tu non puoi fare nessuna modifica manuale nel foglio di lavoro, quindi la macro dovrebbe fare qualcosa che all'interno del ciclo cambia il valore della cella eseguendo un controllo continuo e appena il valore supera la soglia la macro si interrompe
Per estrarre il valore contenuto nella cella alla riga 4 e colonna 3 e metterlo in una variabile testo in Excel si scrive:
dim txt as string
txt = cells(4,3).text
il ciclo è una cosa del tipo:
dim ValorePrefissato as integer
ValorePrefissato=100
do
.... fai qualcosa
loop while val(cells(4,3).text)<=ValorePrefissato
Se non hai alcuna cognizione ti conviene partire da un livello base, cercando di capire come funzionano i cicli for-next, fare operazioni sulle variabili, leggere delle celle fare qualcosa e riscrivere i dati in altre posizioni del foglio
Nell'editor VB puoi mettere delle form con i controlli pulsante, listbox ecc. dovresti vedere come funziona ciascun controllo, cercando nel web i termini "VBA Excel Controlli"