Macro per copiare solo righe piene da un foglio all'altro

Creare una macro - Scrivere uno script - Usare le API
Rispondi
burgman2000
Messaggi: 6
Iscritto il: martedì 17 ottobre 2017, 12:01
Località: Genova

Macro per copiare solo righe piene da un foglio all'altro

Messaggio da burgman2000 »

Buongiorno a tutti,
sono nuovo del forum e spero di non sbagliare già al primo messaggio se cosi fosse chiedo scusa preventivamente. (eventualmente sono pronto a ricevere rimproveri)

Io ho creato un foglio calc che popolo normalmente, un secondo foglio può popolarsi automaticamente fino alla riga 1000 prendendo i dati dal primo con le varie formule (se le celle sono piene) e fin qui tutto ok. Questo secondo foglio poi, lo devo necessariamente salvare come .csv , ma se per caso è popolato fino alla riga 500 mi vede i valori comunque fino alla 1000 anche se sono vuoti.
Qualcuno può aiutarmi a risolvere il problema?
Grazie
open office 4.1.3 windows 7 home premium
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da charlie »

burgman2000 ha scritto:... ma se per caso è popolato fino alla riga 500 mi vede i valori comunque fino alla 1000 anche se sono vuoti.
Ti è possibile allegare un file che sia condivisibile? (senza dati sensibili). Potrebbe forse risolversi anche senza macro.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
burgman2000
Messaggi: 6
Iscritto il: martedì 17 ottobre 2017, 12:01
Località: Genova

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da burgman2000 »

Ciao Charlie, ti ringrazio per la celere risposta.
Certamente lo allegherei volentieri ma è più grande di 256 kib.
Il file è .ods ed è composto d più fogli
ti serve vedere solo il foglio da compilare e dal quale bisogna estrapolare solo le righe popolate? oppure ti serve tutto il file?
Io te lo mando senza problemi basta solo che mi dici come fare.
Grazie ancora.
open office 4.1.3 windows 7 home premium
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da charlie »

charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
burgman2000
Messaggi: 6
Iscritto il: martedì 17 ottobre 2017, 12:01
Località: Genova

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da burgman2000 »

Ciao Charlie,
ho inserito il file su dropobox e poi l'ho condiviso su allegatiaoo@gmail.com
Spero di aver fatto la procedura corretta.
In ogni caso il file si chiama MassImport.ods
Il foglio che devo popolare è "compila foglio", il foglio "converse" mi serve come primo step e si compila in automatico.
il foglio "MassImport" che è una copia di "converse" mi servirebbe invece per creare il file .csv
La tua obiezzione potrebbe essere: ma perchè crei una copia del foglio "converse" per poi creare il file csv?
Se ci fai caso ne foglio"converse" sono presenti fino alla riga 1000 le formule che mi servono per estrarre i dati dai vari altri fogli, per cui avevo pensato di creare la macro che copiasse ed incollasse solo i valori (e non le formule) dal foglio "converse" al foglio MassImport, ma il risultato è che quando il mio programma va a leggere il file .csv mi da l'errore fino alla riga mille anche se le formule non ci sono (almeno apparentemente).

Un saluto
Ivan
open office 4.1.3 windows 7 home premium
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da charlie »

Per comodità allego qui il file postato in dropbox.
Allegati
MassImport.ods
(487.49 KiB) Scaricato 294 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da patel »

non so se ho capito bene, ma io, invece di utilizzare formule farei un copia e incolla valori sul foglio MassImport
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
burgman2000
Messaggi: 6
Iscritto il: martedì 17 ottobre 2017, 12:01
Località: Genova

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da burgman2000 »

Ciao Patel,
è proprio quello che faccio attraverso la macro.
Ma quando salvo "massimport Come .csv il mio programma mi legge comunque i valori (che in realtà non cisono) fino alla riga 1000.
Mi spego meglio:
se il foglio "converse è compilato fino alla riga 200 quando eseguo la macro (copia e incolla solo valori) il foglio "massImport" mi si compila in maniera corretta soltanto fino alla riga 200.
Ma quando salvo il file il programma mi legge comunque 1000 righe e non trovando nessun valore dalla riga 201 in poi mi da errore

Quindi non si può creare un'ulterire macro che dopo aver compilato il foglio "massimport" elimini tutte le righe vuote fino alla riga 1000?
open office 4.1.3 windows 7 home premium
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da patel »

tu parli di macro ma io non ne ho vista alcuna, il file che ha allegato Charlie è molto pesante ma apparentemente vuoto,
Allega un file con 50 righe
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
burgman2000
Messaggi: 6
Iscritto il: martedì 17 ottobre 2017, 12:01
Località: Genova

Re: Macro per copiare solo righe piene da un foglio all'altr

Messaggio da burgman2000 »

non ho inserito la macro, ed ho popolato solo 2 righe appositamente
In ogni caso se vuoi puoi simularla.
vai nel foglio "converse" copi quante righe vuoi e le incolli nel foglio MassImport (questo è quello che dovrebbe fare la macro, quindi cosa molto semplice direi)
Il problema che riscontro è che per esempio se tu copi 50 righe e le incolli (solo i valori e non anche le formule), pur essendo popolate solo le prime due il mio programma le vede comunque tutte e 50 e non trovando dati mi da errore.
Io credo sia dovuto al fatto che nel foglio "converse" in ogni cella ci sia una formula e non vorrei che nonostante mel foglio "MassImport" incollo solo i valori in realtà mi rimangano visibili comunque anche le formule.

Se invece una volta eseguta la macro e cioè copiato ed incollato in "MAssImport" le 50 righe, cancello le 48 righe che non hanno nessun dato, allora il mio programma non le vede e accetta il file come buono
open office 4.1.3 windows 7 home premium
Rispondi