Pagina 1 di 1

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

Inviato: martedì 17 ottobre 2017, 12:33
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

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

Inviato: martedì 17 ottobre 2017, 14:41
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.

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

Inviato: mercoledì 18 ottobre 2017, 0:46
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.

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

Inviato: mercoledì 18 ottobre 2017, 8:55
da charlie

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

Inviato: mercoledì 18 ottobre 2017, 21:52
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

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

Inviato: giovedì 19 ottobre 2017, 6:57
da charlie
Per comodità allego qui il file postato in dropbox.

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

Inviato: giovedì 19 ottobre 2017, 12:01
da patel
non so se ho capito bene, ma io, invece di utilizzare formule farei un copia e incolla valori sul foglio MassImport

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

Inviato: giovedì 19 ottobre 2017, 13:27
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?

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

Inviato: giovedì 19 ottobre 2017, 15:42
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

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

Inviato: giovedì 19 ottobre 2017, 18:09
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