Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Copiare righe da Foglio1 a Foglio2

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Copiare righe da Foglio1 a Foglio2

Postdi sixxy » 19/09/11 16:39

Salve, vorrei riuscire a copiare le righe da il foglio 1 al foglio 2, quando una determinata cella passa da vuota a piena.
In pratica:
nel foglio 1 ho due colonne: la prima colonna contiene un elenco di codici (che è già impostato), ciascuno dei quali deve essere confermato da una specifica chiave di sicurezza che dovrò inserire man mano che mi verranno comunicate.
Le chiavi di sicurezza vengono comunicate casualmente, e non nell'ordine in cui si presentano i codici della prima colonna.

La seconda colonna è quindi vuota. Io vorrei che mano a mano che inserisco le chiavi di sicurezza nelle celle, in automatico si compili un elenco nel foglio 2 che riporti codice e chiave di sicurezza.

Ringrazio chiunque possa aiutarmi...

Ciao
sixxy
Newbie
 
Post: 2
Iscritto il: 19/09/11 16:21

Sponsor
 

Re: [Excel] Copiare righe da Foglio1 a Foglio2

Postdi Francesco53 » 19/09/11 17:35

Ciao sixxy e benvenuto,
ipotizzando che devi copiare dalla cella A1 del foglio 1 in A1 del foglio 2, puoi nella testata del
foglio uno inserire un pulsante o bottene ed allegare il seguente codice:
Codice: Seleziona tutto
Sub CopiaDati()
Worksheets("Foglio1").Select
righe = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, 1), Cells(righe, 2)).Select
Selection.Copy
Worksheets("Foglio2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Ogni volta che hai inserito dati, quando vuoi salvare pressi il pulsante e ti salva tutti i dati.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: [Excel] Copiare righe da Foglio1 a Foglio2

Postdi sixxy » 19/09/11 19:08

ciao Francesco,
grazie per la tua risposta. Ho provato, ma in questo modo mi copia tutto, anche i codici che non hanno ancora una chiave di sicurezza. Devo fare in modo che copi solo le righe che hanno entrambi i codici...
sixxy
Newbie
 
Post: 2
Iscritto il: 19/09/11 16:21

Re: [Excel] Copiare righe da Foglio1 a Foglio2

Postdi Francesco53 » 19/09/11 22:23

Ciao sixxy,
prova questa:
Codice: Seleziona tutto
Sub CopiaDati()
    Worksheets("Foglio1").Select
    righe = Cells(Rows.Count, 1).End(xlUp).Row
    Range(Cells(1, 1), Cells(righe, 2)).Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    righe2 = Worksheets("Foglio1").Range("B" & Rows.Count).End(xlUp).Row
    Range(Cells(1, 1), Cells(righe2, 2)).Select
    Selection.Copy
    Worksheets("Foglio2").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A1").Select
    Worksheets("Foglio1").Select
    Range("A1").Select
    End Sub

Se poi hai la necessità di ripristinare l'ordine iniziale, puoi inserire in una colonna nascosta
la progressione che vuoi conservare, per fare alla fine un sort che riposizioni i dati.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: [Excel] Copiare righe da Foglio1 a Foglio2

Postdi Anthony47 » 19/09/11 23:08

Leggi il suggeriento di Francesco53 sopra.
Io pero' partirei con l' ipotesi di una macro di Worksheet_Change che registra in un foglio di Log le chiavi e relativo codice man mano che le chiavi vengono caricate. Ad es:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "B2:B1000" '<< L' area delle chiavi; i codici sono a sx
LogSh = "Foglio2"    '<< Il foglio in cui si accodano le registrazioni
'
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub
LogLR = Sheets(LogSh).Cells(Rows.Count, 2).End(xlUp).Row
Sheets(LogSh).Cells(LogLR + 1, 2) = "# " & Target.Value
Sheets(LogSh).Cells(LogLR + 1, 1) = Target.Offset(0, -1).Value
Sheets(LogSh).Cells(LogLR + 1, 3) = Now()
End Sub
Tasto dx sul tab col nome del foglio contenente i tuoi elenchi; scegli Visualizza codice; ti si apre l' editor delle macro; copia il codice e incolalo nel frame di dx; adatta le istruzioni marcate <<.

Poi torna sul foglio dei dati, prova a inserire una chiave e vedi l' effetto che fa in Foglio2.

Ciao, fai sapere.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Copiare righe da Foglio1 a Foglio2":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti