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. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
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. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
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.
Avatar utente
Anthony47
Moderatore
 
Post: 19222
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 68 ospiti