Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

copiare una riga da un foglio ad un altro EXCEL 2010

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

copiare una riga da un foglio ad un altro EXCEL 2010

Postdi montix » 23/09/15 11:31

Buongiorno a tutti,
avrei questo problema, sicuramente banale per molti di voi, ma non riesco a trovare una soluzione
Dovrei,, al variare del valore di una cella, copiare tutta la riga e inserirla in testa ad una tabella di un'altro foglio (per esempio prima della riga 7)
Ho iniziato a scrivere questo codice

Codice: Seleziona tutto
Sub worksheet_change(ByVal target As Range)
If target.Address(0, 0) = "B9" Then
Call copia_riga
End If
End Sub


Sub copia_riga()
Rows("9:9").Select
    Selection.Copy
    Sheets("SCHEDA VERDE").Rows("6:6").Select
    Selection.Insert Shift:=xlDown
    MsgBox ("Riga Copiata")
End Sub


In questo esempio se cambio valore nella cella B9 dovrebbe copiarmi la riga B9 e metterla nella scheda verde.
In realtà non funziona su due fogli mentre se la stessa operazione la faccio su un'unico foglio funziona correttamente

Per completezza di "esigenza" mi piacerebbe che al posto di B9 lo facesse su qualunque cella dalla riga 9 in poi ma non sono capace poi a identificare la riga associata. ad esempio se modifico la B123 deve copiare la riga 123

grazie in anticipo a tutti
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06

Sponsor
 

Re: copiare una riga da un foglio ad un altro EXCEL 2010

Postdi Anthony47 » 23/09/15 12:10

Ciao montix, benvenuto nel forum.
Sostituisci la tua Sub worksheet_change con questa:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
For Each mycell In Target
    If mycell.Column = 2 And mycell.Row > 8 Then
        mycell.EntireRow.Copy
        Sheets("SCHEDA VERDE").Rows("6:6").Insert Shift:=xlDown
        MsgBox ("Riga Copiata, " & mycell.Row)
    End If
Next mycell
Application.CutCopyMode = False
End Sub

La Sub copia_riga() puoi cancellarla perche' le sue funzioni sono inglobate nella Worksheet_Change

Ti e' chiaro che, lavorando "al variare del valore di una cella" (B9 e sottostanti) copierai la riga anche quando cancelli qualche cella, vero?

Ciao
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

Re: copiare una riga da un foglio ad un altro EXCEL 2010

Postdi montix » 23/09/15 13:22

Anthony sei un genio!!!!Grazie
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06

Re: copiare una riga da un foglio ad un altro EXCEL 2010

Postdi montix » 24/09/15 09:19

Ciao a tutti, ho messo in pratica il codice e "ovviamente" non avevo previsto alcune problematiche
La mia idea è quella di copiare la riga da un foglio 1 ad un foglio 2 e successivamente dal 2 al 3 e successivamente dal 3 al 4
Ho copiato il codice in tutti i fogli e ho detto al variare del valore di B9 copia sul foglio successivo.
Apparentemente funziona ma entrando nel dettaglio ho notato che se modifico B9 nel foglio 1, B9 si modifica nel foglio 2 e quindi copia nel foglio 3 che modifica b9 e quindi la copia nel foglio 4
Avete qualche idea di come posso fare.
La mia idea era quella invece di scrivere
mycell.entirerow.copy dirgli di selezionare solo da mycell(colonna1) a mycell(colonna 10) e dire al foglio di lanciare la macro al variare di B11(sposterei la variabile in fondo).
Mentre scrivo pero' mi rendo conto che anche cosi' non va perchè spostando le righe sotto le celle si modificherebbero e quindi rilancia il loop di modifiche
Aiutooo
La butto li ma non vorrei dare idee sbagliate, siccome la cella puo' assumere solo valori vuoto/si/no e io voglio copiarla quando c'e' scritto si forse la mia idea di prima puo' funzionare (in qualsiasi caso non so come fare)
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06

Re: copiare una riga da un foglio ad un altro EXCEL 2010

Postdi Anthony47 » 24/09/15 11:17

Non prendertela, ma secondo me tu devi concentrarti sulla descrizione della cosa da fare, esaminando tutti i dettagli della faccenda; sei l'unico che puo' chiarire questa cosa...
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

Re: copiare una riga da un foglio ad un altro EXCEL 2010

Postdi montix » 24/09/15 12:49

hai ragione, metto in ordine le idee.
a dopo
montix
Newbie
 
Post: 6
Iscritto il: 23/09/15 11:06


Torna a Applicazioni Office Windows


Topic correlati a "copiare una riga da un foglio ad un altro EXCEL 2010":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti