Antonello Cerrato ha scritto:
Guido Moretto schrieb:

Ho inserito in una macro la verifica se una colonna è stata valorizzata
Ho usato un loop che mi scorre l'oggetto colonna dalla cella 1 a 1500 e questo rallenta di qualche decina di secondi la macro. Poichè il 90% delle volte questo controllo darà esito negativo, ossia non sarà inserito alcun codice, mi piacerebbe effettuare un primo controllo se l'utente ha inserito qualche stringa nella colonna, solo in caso affermativo procedere all'analisi cella per cella. Ho provato senza successo (va in errore) il seguente comando che dovrebbe restituire quante celle contengono stringhe o valori
   Dim  Flags         As Long
   Flags = com.sun.star.sheet.CellFlags.STRING + _
           com.sun.star.sheet.CellFlags.VALUE
   I = oCol_Sigla.queryContenentCells( Flags )
   Print I


DOMANDA
Sto usando il metodo corretto?  dove ho sbagliato ad usarlo?
Esiste altro modo di fare questo controllo?

Work-around
metto un contattore sul foglio e da macro ne controllo il valore.

grazie
Guido

Caro Guido, ti rispondo anche se non sono un campione, perché forse sto occupandomi di una questione analoga alla tua. Io avevo provato inizialmente ad utilizzare il metodo ismodified e setmodified ma non andava bene (non mi ricordo perché, ma incasinava tutto).

Invece mi pare funzioni con gli EventListener e si fa così:

fai una routin che assegna l'evento al range che ti interessa (per esempio all'apertura del documento o giu di li)
[...]
Grazie del suggerimento,
tuttavia non è applicabile nella mia situazione: voglio eliminare un loop di 1500 controlli, non posso sostituirlo con un altro per inserire il listener in ogni cella. . . Forse è sufficiente prendere l'oggetto colonna e applicargli il Listener evitando quindi il Loop (?)

Quello che cerco è un metodo che faccia l'analogo della funzione calc " =Conta.Valori( ) "
Per il momento userò il work-around
Grazie della riflessione e dell'aiuto.
Guido

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a