sto riscontrando dei problemi con la registrazione della macro dei filtri che applico ad una tabella, per poi copiare il contenuto in un altro foglio. Premetto che vengo da Excel e qualcosina conosco di VBA..
Provo a spiegarvi in breve il tipo di lavoro che sto facendo...
Devo elaborare una serie di dati che vado ad importare (tramite macro) sul foglio 1 (importa).. Su un secondo foglio (dettaglio) del documento vado ad estrapolarmi i dati presenti sul primo foglio, tramite una formula presente all'interno delle celle. Dato che i dati da estrapolare dal foglio 1 possono essere "N", le celle senza alcun dato hanno questa formula che dal momento in cui vado a fare una esportazione dei dati presenti nel foglio 2 in ".csv", mi trova queste celle vuote inserendomi il separatore delle colonne. Per ovviare a questo problema ho sfruttato il filtro presente copiano i dati "puliti" in un terzo foglio (copia_dettaglio), così da avere il .csv pulito senza sporcizia. Manualmente questo processo funziona egregiamente, il problema è quando vado a registrare la macro per l'applicazione dei filtri e la copia dei dati, come se non registrasse affatto... Potete aiutarmi per piacere?
Vorrei non utilizzare la funzione dei filtri bensì dandomi la possibilità di estrarre i dati puliti dal foglio 2, senza utilizzare alcun filtro e copiarlo in un altro foglio.
Vi mostro il codice che mi fa visualizzare dopo la macro dei filtri:
Codice: Seleziona tutto
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataFilterStandardFilter", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:FilterExecute", "", 0, Array())
end sub
Grazie in anticipo!