Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 24-04-2015, 13.41.01   #1
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Copia righe con accodamento

Buongiorno a tutti. Avrei bisogno di creare un foglio ("storico") con l'accodamento di tutta una serie di righe provenienti da un altro foglio che verrebbe aggiornato di volta in volta ("origine"). Il mio problema è fare in modo che la macro esegua l'accodamento a partire dalla prima cella vuota del foglio "storico" , la cui posizione, ovviamente, varierà dopo ogni caricamento (per evitare che i dati presenti vengano sovrascritti).
Suggerimenti?
Grazie,
Onofrio
omancino non è collegato   Rispondi citando
Vecchio 24-04-2015, 18.17.31   #2
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Rif: Copia righe con accodamento

Per completezza di informazione, si tratterebbe di accodare solo le prime 8 colonne di ogni riga (nel caso specifico). In generale, sarebbe utile poter modificare tale contatore per rendere la macro flessibile.
Grazie
omancino non è collegato   Rispondi citando
Vecchio 24-04-2015, 18.33.29   #3
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

Prova con questa macro

Codice:
Sub b()
Application.ScreenUpdating = False
    ult = Cells(Rows.Count, 1).End(xlUp).Row
      ActiveSheet.Range("A1").CurrentRegion.Select
      Selection.Copy

Sheets("Storico").Select
    ult = Cells(Rows.Count, 1).End(xlUp).Row
      Range("A" & ult).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
   
   Application.CutCopyMode = False
  Sheets("Origine").Select
End Sub
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 24-04-2015, 19.17.30   #4
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Rif: Copia righe con accodamento

Grazie Alexsandra. Dopo la prima esecuzione (OK) , se la rieseguo, mi viene sovrascritta l'ultima riga (es. se copio 3 righe, alla seconda esecuzione me ne ritrovo 5 invece che 6).
Inoltre, se volessi limitare il numero di colonne da "copiare" (il foglio origine ne contiene più di quante necessarie copiare), come si può "parametrizzare" la macro?
omancino non è collegato   Rispondi citando
Vecchio 24-04-2015, 22.03.54   #5
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

prova così allora.

Codice:
Sub b()
    Application.ScreenUpdating = False
    col = 8 'numero di colonne da copiare
    ult = Cells(Rows.Count, 1).End(xlUp).Row ' ultima riga scritta da copiare
    
    Rcopi = Range(Cells(1, 1), Cells(ult, col)).Select
    Selection.Copy
    
    Sheets("Storico").Select
    ultR = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
      Range("A" & ultR).Select
    If ultR > 1 Then
    ActiveCell.Offset(1, 0).Select
    Else
    End If
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
    Application.CutCopyMode = False
    Range("A1").Select
    
    Sheets("Origine").Select
    Range("A1").Select
End Sub
Puoi modificare il valore della variabile col in base alle colonne che vuoi copiare.
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 25-04-2015, 00.25.33   #6
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

Oppure così

Codice:
Sub b()
	Application.ScreenUpdating = False
	col = 8 'numero di colonne da copiare
	ult = Cells(Rows.Count, 1).End(xlUp).Row ' ultima riga scritta da copiare
	Rcopi = Range(Cells(1, 1), Cells(ult, col)).Select
	
	RigaDes = Sheets("Storico").Cells(Rows.Count, 1).End(xlUp).Row
	If RigaDes > 1 Then
		Selection.Copy Destination:=Sheets("Storico").Range("A" & RigaDes).Offset(1, 0)
	Else
		Selection.Copy Destination:=Sheets("Storico").Range("A" & RigaDes)
	End If
	
	Application.CutCopyMode = False
	Sheets("Origine").Select
	Range("A1").Select
End Sub
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 27-04-2015, 10.05.19   #7
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Rif: Copia righe con accodamento

Perfetto! Funzionano entrambe!
Un dettaglio: per funzionare bisogna posizionarsi sul foglio origine: corretto?
Grazie molte!
omancino non è collegato   Rispondi citando
Vecchio 27-04-2015, 10.38.59   #8
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

Quota:
Inviato da omancino Visualizza messaggio
Un dettaglio: per funzionare bisogna posizionarsi sul foglio origine: corretto?
si si parte dal foglio origine, se sei su altri fogli subito dopo la riga di codice
Codice:
Application.ScreenUpdating = False
inserisci:

Codice:
Sheets("Origine").Select
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 27-04-2015, 11.08.05   #9
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Rif: Copia righe con accodamento

Perdonami l'aggiunta di complicazioni in corso d'opera ma
I fogli "Storico" e "Origine" hanno delle intestazioni di colonne: la copia dovrebbe riguardare solo la parte dati del foglio "Origine".
Per meglio descrivere il contesto: il foglio "Storico" e il foglio "Origine" hanno la stessa struttura (almeno per le colonne oggetto di copia). Nello stesso Excel, lo "Storico" dovrà contenere tutte le righe presenti nei fogli "Origine" (che varieranno di mese in mese).
Fondamentalmente, vorrei collezionare i fogli "Origine" costruiti su un template standard da diversi utenti, aggiungerli uno alla volta all'excel principale e aggiornare "Storico".
Grazie.
omancino non è collegato   Rispondi citando
Vecchio 29-04-2015, 12.32.10   #10
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

modifica la macro così

Codice:
Sub b()
    Application.ScreenUpdating = False
    col = 8 'numero di colonne da copiare
    ult = Cells(Rows.Count, 1).End(xlUp).Row ' ultima riga scritta da copiare
    Rcopi = Range(Cells(2, 1), Cells(ult, col)).Select
    
    RigaDes = Sheets("Storico").Cells(Rows.Count, 1).End(xlUp).Row
    If RigaDes >= 1 Then
        Selection.Copy Destination:=Sheets("Storico").Range("A" & RigaDes).Offset(1, 0)
    Else
        Selection.Copy Destination:=Sheets("Storico").Range("A" & RigaDes)
    End If
    
    Application.CutCopyMode = False
    Sheets("Origine").Select
    Range("A1").Select
End Sub
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 29-04-2015, 13.24.08   #11
omancino
Junior Member
 
Registrato: 18-11-2014
Messaggi: 75
omancino promette bene
Rif: Copia righe con accodamento

Ok. Adesso giuro che non aggiungo altro.
Tutto perfetto.
Grazie
omancino non è collegato   Rispondi citando
Vecchio 29-04-2015, 14.50.03   #12
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: Copia righe con accodamento

ahahahaah ok prendo nota del giuramento

ciao
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Corso VBA Alexsandra Guide 85 16-11-2016 12.11.51
Ricerca Numero Righe di un Foglio Excel. riccardonard Office suite 12 28-08-2009 17.21.50
Copia privata, si può ??? Macao Segnalazioni Web 12 15-10-2004 19.17.23
vecchi trucchi ma su xp? top gun Windows 7/Vista/XP/ 2003 13 02-03-2004 11.31.48

Orario GMT +2. Ora sono le: 09.48.48.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.