|
Domanda.
nome=Francesco
cognome=Longo
versione=97
conosco3=buono
vba=SI
email=fs.longo@libero.it
chra=392
problema= Ho scritto delle funzioni in VBA che vengono richiamate nelle
varie celle con =FUNZIONE(parametri) ed il risultato viene correttamente
scritto nella cella stessa. Non sono però riuscito a modificare altre celle.
Per esempio vorrei che la cella B3 che contiene un numero scritto da una
persona, e quindi non una formula, cambi font o colore in funzione del
valore contenuto nella cella A3. Avevo pensato di scrivere nella cella C3,
da tenere nascosta, il richiamo ad una funzione VBA che faccia tale lavoro.
Si può fare?
Grazie
Francesco
Risposta.
salve Francesco, non occorre una funzione specifica, anche se la puoi usare,
comunque il tuo problema non puoi risolverlo come pensi; sul foglio è la
cella dove inserisci la funzione o la formula che ti fornisce il risultato
della formula o funzione, non puoi inserire in una cella una funzione che
agisca su un'altra cella. Ed è questo quello che chiedi. Quindi puoi usare
il vba, ma devi sfruttare, visto il risutato che vuoi ottenere, l'evento
Change del Worksheet, che si verifica ad ogni cambiamento in qualsiasi
cella. E nell'evento, inserire le opportune istruzioni condizionali, per
esempio:
Private Sub Worksheet_Change(ByVal Target As Range)
If [A3].Value >10 Then
[B3].Font.ColorIndex = 3
Else
[B3].Font.ColorIndex = 1
End If
End Sub
l'istruzione dice: se il valore della cella A3 è maggiore di 10 (o qualunque
altra soluzione di confronto), allora mi colori di rosso il carattere del
valore che è in B3, altrimenti di nero. Ed ogni volta che verrà variato
(cambiato) il valore in A3, scatta l'istruzione.
saluti, ennius
|