Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Copia ed incolla saltando righe occupate

431 views
Skip to first unread message

ikma...@gmail.com

unread,
Mar 19, 2014, 5:46:00 AM3/19/14
to
Ciao a tutti spero che qualcuno mi possa aiutare, ho bisogno di copiare un range di dati distribuiti su 3 colonne da un foglio ad un altro in MODO ORDINATO IN BASE AD UNA COLONNA ORARIO in modo tale però che se i dati incontrano delle righe occupate la saltino per occupare la prima riga vuota successiva. Grazie a chi possa darmi una mano ancvhe solo per poter partire.

Bruno Campanini

unread,
Mar 19, 2014, 6:11:02 AM3/19/14
to
After serious thinking ikma...@gmail.com wrote :
Non è più semplice:
1 - compattare il range di destinazione
2 - APPENDere i record sorgente
3 - ordinare per data il range di destinaziuone
???

Bruno

ikma...@gmail.com

unread,
Mar 19, 2014, 6:33:24 AM3/19/14
to
Il giorno mercoledì 19 marzo 2014 10:46:00 UTC+1, ikma...@gmail.com ha scritto:
> Ciao a tutti spero che qualcuno mi possa aiutare, ho bisogno di copiare un range di dati distribuiti su 3 colonne da un foglio ad un altro in MODO ORDINATO IN BASE AD UNA COLONNA ORARIO in modo tale però che se i dati incontrano delle righe occupate la saltino per occupare la prima riga vuota successiva. Grazie a chi possa darmi una mano ancvhe solo per poter partire.

Salve e grazie della risposta intanto, vorrei che questo lavoro me lo facesse in automatico in quanto, di tanto in tanto, dovrei inserire manualmente dei dati nel secondo foglio, per poi far riprendere in automatico il copia e incolla.

Bruno Campanini

unread,
Mar 19, 2014, 9:09:16 AM3/19/14
to
ikma...@gmail.com was thinking very hard :
Non mi era passato per la testa che le tre operazioni dovessero essere
fatte manualmente.
Chiedevo solo se quella sequenza soddisfecesse alla richiesta.

Bruno

ikma...@gmail.com

unread,
Mar 20, 2014, 9:52:03 AM3/20/14
to
Il giorno mercoledì 19 marzo 2014 10:46:00 UTC+1, ikma...@gmail.com ha scritto:
> Ciao a tutti spero che qualcuno mi possa aiutare, ho bisogno di copiare un range di dati distribuiti su 3 colonne da un foglio ad un altro in MODO ORDINATO IN BASE AD UNA COLONNA ORARIO in modo tale però che se i dati incontrano delle righe occupate la saltino per occupare la prima riga vuota successiva. Grazie a chi possa darmi una mano ancvhe solo per poter partire.

Gradisco il consiglio che mi ha dato ma nella pratica come potrei adattarlo alle mie esigenze, io ho proceduto in questo modo ho richiamato su un foglio di servizio tutte le informazioni presenti sul primo foglio, li potrei mettere in ordine semplicemente con l'apposito pulsante di excel, ma se volessi aggiungere manualmente un'informazione come potrei fare se tutte le celle sono occupate dalle formule che richiamano i dati del primo foglio?

ikma...@gmail.com

unread,
Mar 20, 2014, 1:01:22 PM3/20/14
to
Salve ho provato a registrare due macro una per ordinare in base alla colonna B che mi riporta gli orari, dopodichè ho registrato un'altra macro che mi faccia il copia ed incolla e qui mi blocco perchè ho resgitrato, COME ESEMPIO, una macro che mi incolla 4 righe, così da lasciarmi la 5 riga vuota perchè potrei avere la necessità di scrivere manualmente alcune informazioni perchè a quell'ora è accaduto qualcosa che mi interessa riportare, poi dovrebbe continuare a incollare con orari successivi ma non son come continuare per far capire che deve incollare saltando le righe occupate.

Sub ORDINA()
'
' ORDINA Macro
'

'
Range("B10:D162").Select
ActiveWorkbook.Worksheets("Foglio2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Foglio2").Sort.SortFields.Add Key:=Range( _
"B10:B162"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Foglio2").Sort
.SetRange Range("B10:D162")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C15").Select
End Sub
Sub INCOLLA()
'
' INCOLLA Macro
'

'
Range("B10:D13").Select
Selection.Copy
Sheets("Foglio3").Select
Range("B10").Select
ActiveSheet.Paste
Range("B14").Select
End Sub

ikma...@gmail.com

unread,
Mar 24, 2014, 8:52:25 AM3/24/14
to
Ciao a tutti e a lei signor Campanini che è stato l'unico a darmi almeno retta, è possibile che abbia fatto una rihiesta così complicata da mettere in crisi tutto il gruppo. Datemi qualche dritta mi fareste una grossa cortesia.

Bruno Campanini

unread,
Mar 24, 2014, 11:05:28 AM3/24/14
to
ikma...@gmail.com formulated the question :

> Ciao a tutti e a lei signor Campanini che è stato l'unico a darmi almeno
> retta, è possibile che abbia fatto una rihiesta così complicata da mettere in
> crisi tutto il gruppo. Datemi qualche dritta mi fareste una grossa cortesia.

Intanto lascia perdere il signor Campanini.
Mi chiamo Bruno e qui ci si dà tutti del, indistintamente!

Io ho capito che tu volessi questo:
1 - compattare il range di destinazione
2 - APPENDere i record sorgente
3 - ordinare per data il range di destinaziuone

Poi ho soggiunto:
Non mi era passato per la testa che le tre operazioni dovessero essere
fatte manualmente.
Chiedevo solo se quella sequenza soddisfecesse alla richiesta.

Ma tu devi ancora rispondere...
E finché non rispondi appari tu in crisi, non il gruppo.

Bruno

ikma...@gmail.com

unread,
Mar 24, 2014, 11:56:38 AM3/24/14
to
Ciao pensavo che avessi spiegato bene il mio problema, cerco di farmi capire meglio;
ho 3 fogli, sul primo foglio inserisco manualmente dalla cella A1 (orario di uscita) B1 (orario di rientro )C1 (auto che esce) le informazioni di entrata ed uscita delle autovetture delle varie aziende, sul secondo foglio, a partire dalla cella A1, con le formule (ma se potessi fare anche questo automaticamente sarebbe meglio), ho richiamato tutte le informazioni e con una macro le ho ordinate a seconda dell'orario; sul terzo foglio che sarà quello ufficiale ho necessità che vengano richiamate automaticamente le informazioni del secondo foglio come un "DIARIO DELLE ATTIVITA', ma ho necessità che oltre a queste informazioni richiamate automaticamente dal secondo foglio possa inserire "manualmente" altre informazioni, per cui quando i dati passano dal secondo foglio al terzo foglio ogni volta che trovano una cella/riga occupata saltano alla riga successiva.

Bruno Campanini

unread,
Mar 24, 2014, 3:05:36 PM3/24/14
to
ikma...@gmail.com explained :
Partiamo da zero: i tre fogli sono vuoti.

Sul primo scrivi (semplificando):
4
1
3
2
5

sul secondo si riportano ordinati:
1
2
3
4
5

"sul terzo foglio che sarà quello ufficiale ho
necessità che vengano richiamate automaticamente
le informazioni del secondo foglio"
quindi>
1
2
3
4
5

poi, sempre sul terzo, manualmente, inserisci:
?
?
?

e poi?

Non voglio spiegazioni, continua l'esempio.

Bruno

ikma...@gmail.com

unread,
Mar 25, 2014, 10:52:24 AM3/25/14
to
Esatto a questo punto nel terzo foglio potrebbe succedere questo
1
2
3
3,5 inserito manualmente
4
4,5 inserito manualmente
5
quindi se nel Foglio2 sono occupate le celle da A1 ad A5
nel Foglio3 verranno occupate le celle da A1 ad A7 ma questo a me non interessa
l'importante è che quando i numeri da 1 a 5 incontrano 3,5 e 4,5 passano alla riga successiva

ikma...@gmail.com

unread,
Mar 25, 2014, 12:21:35 PM3/25/14
to
In un altro forum qualcuno mi ha suggerito questo codice

UR = Sheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row + 1

ma non saprei come inserirlo nel codice che mi ha generato il registratore di macro

Sub INCOLLA()
'
' INCOLLA Macro
'

'
Range("B10:D300").Select
Selection.Copy
Sheets("Foglio2").Select
Range("B10:D300").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Foglio3").Select
Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Foglio3").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub

Bruno Campanini

unread,
Mar 25, 2014, 12:25:04 PM3/25/14
to
ikma...@gmail.com expressed precisely :

> Esatto a questo punto nel terzo foglio potrebbe succedere questo
> 1
> 2
> 3
> 3,5 inserito manualmente
> 4
> 4,5 inserito manualmente
> 5

Ma che cosa stai dicendo?
Se nel foglio 3 vi è già
1
2
3
4
5

potrà succedere che tu inserisca, dopo il 5,
3.5
4.5

e si avrà così:
1
2
3
4
5
3.5
4.5

Ma tu vuoi avere il tutto ordinato così:
1
2
3
3.5
4
4.5
5

Esatto?

Bruno

ikma...@gmail.com

unread,
Mar 25, 2014, 12:56:09 PM3/25/14
to
Non dovrebbe andare così o almeno se è un'alternativa ben venga
allora parto con
1
2
che per me sono orari ora ho bisogno alle ore
2,5 di inserire una notizia dopodichè riprende l'orario del foglio2 alle ore ad incollarmi l'orario che prende dal Foglio2
3
4
5
3

Bruno Campanini

unread,
Mar 25, 2014, 1:30:25 PM3/25/14
to
It happens that Bruno Campanini formulated :
Non riesco a rispondere alla tua risposta a questo messaggio.

Comunque parliamo due lòingue differenti.
Ci rinuncio.

Bruno

ikma...@gmail.com

unread,
Mar 25, 2014, 1:36:56 PM3/25/14
to

Partiamo da zero: i tre fogli sono vuoti.

Sul primo scrivi (semplificando):
4
1
3
2
5

sul secondo si riportano ordinati:
1
2
3
4
5

"sul terzo foglio che sarà quello ufficiale ho
necessità che vengano richiamate automaticamente
le informazioni del secondo foglio"
quindi>
1
2
3
4
5

poi, sempre sul terzo, manualmente, inserisci:
?
?
?

e poi?

Non voglio spiegazioni, continua l'esempio.

Bruno

questa è la sequenza giusta che hai intuito
le notizie, 2,5 3,5 etc a seconda della mole di eventi, sono variabili mentre le entrate (150) ed uscite (150) sono fisse per un totale di 300 movimenti (può capitare che possano essere anche un numero inferiore). Questi movimenti li ho richiamati nel Foglio2 con formule tipo

=SE(Foglio1!B17<>"";"USCITA AUTO"&" "&Foglio1!E17&" "&Foglio1!F17&" "&Foglio1!A17&" "&"("&Foglio1!D17&")";"")
oppure

=SE(Foglio1!C8<>"";"RIENTRO AUTO"&" "&Foglio1!E8&" "&Foglio1!A8&" "&"("&Foglio1!D8&")";"")
dopodichè una macro me li ordina ed un'altra macro me li sistema nel Foglio3 però un copia ed incolla normale mi sovrascrive gli eventi che ho necessità di inserire (2,5 3,5)

ikma...@gmail.com

unread,
Mar 26, 2014, 3:08:28 PM3/26/14
to
Ciao se potessi inviarti il file così che puoi capire meglio quello che ho intenzione di realizzare fammi sapere intanto attendo suggerimenti. Grazie.

Bruno Campanini

unread,
Mar 26, 2014, 8:23:41 PM3/26/14
to
ikma...@gmail.com laid this down on his screen :
> Ciao se potessi inviarti il file così che puoi capire meglio quello che ho
> intenzione di realizzare fammi sapere intanto attendo suggerimenti. Grazie.

Ci riprovo... senza alcuna speranza.

Partendo da zero siamo arrivati che al foglio 3 abbiamo:
1
2
3
4
5
3.5 (inserito manualmente)
4.5 (inserito manualmente)

che possiano ordinare in:
1
2
3
3.5
4
4.5

Dopodiché cosa succede ai fogli 1, 2, 3?

Bruno

ikma...@gmail.com

unread,
Mar 28, 2014, 11:41:56 AM3/28/14
to
Ciao Bruno scusami se ti sto importunando con le mie visioni, il foglio 1 e il foglio 3 sono documenti per me ufficiali e quindi tutti i dati che vanno sopra non vanno cancellati.
Il foglio 2 l'ho dovuto creare perchè non so come richiamare tutti i dati del foglio 1 se non con formule che ho menzionato (se riuscissi a trovare una macro che prima mi prenda i dati dalle colonne con orario di entrata e poi con orario di uscita eliminerei il foglio 2)
Ora nel foglio 3 la sequenza che hai fatto va bene:
Partendo da zero siamo arrivati che al foglio 3 abbiamo:

1
2
3
4
5
3.5 (inserito manualmente)
4.5 (inserito manualmente)

che possiano ordinare in:
1
2
3
3.5
4
4.5

ma che succede se dal foglio 2 mi copia

6
7
e manualmente ho necessità di inserire 6,5
non rischio che mi sovrascrive tutti i dati

Bruno Campanini

unread,
Mar 28, 2014, 1:26:46 PM3/28/14
to
ikma...@gmail.com presented the following explanation :
Quando dal foglio 2 copi sul foglio 3 i valori 6 e 7,
sul foglio 2 continuano ad esserci i precedenti
1, 2, 3, 4, 5 o questi sono stati cancellati?

Il 6 e il 7 (come gli altri valori esemplificati) sono
in effetti valori unici in quanto rappresentano date e orari?
Cioè non vi è possibilità di duplicazione per quanto
concerne detti campi?

Bruno

ikma...@gmail.com

unread,
Mar 28, 2014, 1:58:27 PM3/28/14
to
Esatto
i dati che sono sul foglio 2 anche se si dovessero cancellare a me non interessa l'importante sono quelli sul foglio 1.
I dati vanno inseriti ovviamente 1 alla volta a seconda degli orari di partenza e di rientro per cui il problema è che ogni volta che inserisco una nuova uscita o un nuovo rientro mi dovrebbe aggiornare in tempo reale perchè se non aggiunge nel foglio 3 l'entrta o l'uscita se vado ad inserire una notizia manualmernte salto gli orari.
Duplicati non ce ne sono all'infuori degli orarri perchè potrebbe esserci un'uscita o rientro contemporaneo di due o più autovetture.
Io potrei ovviare a tutto questo con una macro che mi concateni i dati del foglio1 sul foglio3 così da poter eliminare il foglio2.
Se fosse possibile potrei evitare tutti sti passaggi.

ikma...@gmail.com

unread,
Apr 8, 2014, 10:18:50 AM4/8/14
to

Ciao e scusami se sono pedante ma non sono riuscito a far da me ti linko il file di esempio della struttura dei dati per farti capire come dovrebbe funzionare il mio diario.

http://www.mediafire.com/view/jtn3cox9fneqb7i/ESEMPIO.xlsx
0 new messages