PDA

View Full Version : [VBA] Convalida di ActiveCell


Teo@Unix
03-02-2010, 12:51
Ciao,
Ho una macro che utilizza il valore della cella attiva per eseguire delle operazioni, vorrei convalidare la selezione dell'utente, ovvero convalidare ActiveCell al momento dell'esecuzione della macro.
La cella attiva deve essere solo su una certa colonna del foglio.

Come posso fare una cosa di questo tipo? Ho dato solo un occhio veloce alla guida, ma l'oggetto activecell non mi sembra supporti .validation.add ecc...
potreste farmi un esempio? Grazie.

MarcoGG
03-02-2010, 13:40
Ho una macro che utilizza il valore della cella attiva per eseguire delle operazioni, vorrei convalidare la selezione dell'utente, ovvero convalidare ActiveCell al momento dell'esecuzione della macro.
La cella attiva deve essere solo su una certa colonna del foglio.


Puoi semplicemente rilevare la colonna in cui si trova la selezione al momento dell'esecuzione e agire di conseguenza.
Mettiamo che la selezione sia valida solo se in una cella della colonna "A" :

Dim colonnaSelez As Integer
colonnaSelez = ActiveCell.Column

If colonnaSelez = 1 Then
MsgBox ActiveCell.Text
Else
MsgBox "Selezione non corretta."
End If

ActiveCell.Select

L'ultima linea ActiveCell.Select serve a ripristinare il Focus sulla cella, che, in caso ad esempio di pressione su un CommandButton, verrebbe perso... ;)

Teo@Unix
03-02-2010, 14:05
Ok! Cosė č ottimo, se volessi convalidare anche il formato? C'č una metodo di activecell?
grazie.:)

MarcoGG
03-02-2010, 14:20
Ok! Cosė č ottimo, se volessi convalidare anche il formato? C'č una metodo di activecell?
grazie.:)

Stesso discorso. Poniamo che l'unico formato-cella valido sia il Formato Testo :

If ActiveCell.NumberFormat = "@" Then
MsgBox "Formato Testo"
Else
MsgBox "Formato non corretto."
End If
;)

Teo@Unix
03-02-2010, 16:27
Grazie, tutto ok.