Condividi:        

Come registrare una macro su excel usando Trova?

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

Come registrare una macro su excel usando Trova?

Postdi M@rtyn@ » 05/02/13 09:23

Salve a tutti vorrei registrare una macro con riferimenti relativi che cerca il contenuto della cella A1 del foglio3 nel foglio2 e quando lo trova copia il range B1:G11 poi cerca il contenuto della cella A12 e quando lo trova copia il contenuto del range B12:G22 e così via fino ad esaurimento dati.
Il mio problema è che la ricerca con trova non viene registrata. Potete aiutarmi?
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Sponsor
 

Re: Come registrare una macro su excel usando Trova?

Postdi Flash30005 » 05/02/13 10:31

La Funzione di trova esiste "Find" ma credo che quello occorra a te, sia la copia di un range in caso di celle identiche tra i due fogli
Non avendo specificato da quale foglio devono essere copiati i dati, ho supposto che sia il foglio3 e il foglio2 la destinazione
quindi se il foglio2 nella cella da A1 a fine righe (con passo 11) è uguale alla cella A1 (passo 11 fino alla fine) del foglio3 allora deve copiare il range B1:G11 del foglio3 nel foglio2.
Se così puoi usare questa macro
Codice: Seleziona tutto
Sub CopiaSe()
Set Ws2 = Worksheets("Foglio2")
Set Ws3 = Worksheets("Foglio3")
UR1 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 1 To UR1 Step 11
If Ws2.Range("A" & RR1).Value = Ws3.Range("A" & RR1).Value Then
Ws3.Range("B" & RR1 & ":G" & RR1 + 10).Copy Destination:=Ws2.Range("B" & RR1)
End If
Next RR1
End Sub

Altrimenti inverti i riferimenti

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Come registrare una macro su excel usando Trova?

Postdi M@rtyn@ » 05/02/13 13:05

Ciao e grazie per il tuo aiuto , sono stata poco chiara,vorrei copiare l'intervallo B1:G11 del foglio 3 nel foglio 2 se Foglio3!A1 si trova in una cella qualsiasi della colonna A Foglio2 in modo che l'intervallo (B1:G11) occupi le celle che partono da quella all'immediata destra della cella dove è stato trovato il valore sopra definita "qualsiasi" sviluppandosi sulle celle verso destra e verso il basso. Spero di non aver fatto ancora più confusione. La tua macro non dà nessun risultato credo perchè i valori della colonna A foglio 2 sono sfalsati rispetto ai valori della colonna A foglio 3 .
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Come registrare una macro su excel usando Trova?

Postdi Flash30005 » 05/02/13 14:35

Ok per sfalsati ma sempre stesso passo?
Intendo 1, 12, 23, 34, 45 etc (passo 11)?
oppure in qualsiasi riga del foglio2?

Se ha sempre passo 11 usa questa macro
Codice: Seleziona tutto
Sub CopiaSe()
Set Ws2 = Worksheets("Foglio2")
Set Ws3 = Worksheets("Foglio3")
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
UR3 = Ws3.Range("A" & Rows.Count).End(xlUp).Row
For RR3 = 1 To UR3 Step 11
    For RR2 = 1 To UR2 Step 11  '<<<<<<<< commenta questa riga
    'For RR2 = 1 To UR2   '<<< togli il commento a questa
        If Ws3.Range("A" & RR3).Value = Ws3.Range("A" & RR2).Value Then
            Ws3.Range("B" & RR3 & ":G" & RR3 + 10).Copy Destination:=Ws2.Range("B" & RR2)
        End If
    Next RR2
Next RR3
End Sub

Nel caso in cui il foglio2 non abbia lo stesso passo 11 togli il commento alla riga evidenziata ed elimina o inserisci commento dove indicato nella macro
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Come registrare una macro su excel usando Trova?

Postdi M@rtyn@ » 05/02/13 18:14

Ciao, nella colonna A del Foglio 3 ci sono alcune date, mentre nella colonna A del foglio 2 c'è tutto il calendario devo controllare la colonna A del foglio 3 ma solo alcune celle è esatta la tua definizione di passo 11
Intendo 1, 12, 23, 34, 45 etc (passo 11)?
perciò il risultato nel foglio 2 sarebbe ad un colpo d' occhi dei "buchi" o "salti" nei dati, la tua macro mi copia il figlio 3 dalla colonna B alla G paro paro sbagliando tutte le date mentre se faccio le modifiche
Nel caso in cui il foglio2 non abbia lo stesso passo 11 togli il commento alla riga evidenziata ed elimina o inserisci commento dove indicato nella macro
ciao
copia la prima riga del foglio3 dalla colonna B alla G su tutte le righe del foglio 2.
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03

Re: Come registrare una macro su excel usando Trova?

Postdi Flash30005 » 05/02/13 20:58

Ops c'era un errore

Codice: Seleziona tutto
Sub CopiaSe()
Set Ws2 = Worksheets("Foglio2")
Set Ws3 = Worksheets("Foglio3")
UR2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row
UR3 = Ws3.Range("A" & Rows.Count).End(xlUp).Row
For RR3 = 1 To UR3 Step 11
    For RR2 = 1 To UR2
        If Ws3.Range("A" & RR3).Value = Ws2.Range("A" & RR2).Value Then
            Ws3.Range("B" & RR3 & ":G" & RR3 + 10).Copy Destination:=Ws2.Range("B" & RR2)
        End If
    Next RR2
Next RR3
End Sub


Prova e fai sapere,
in caso di problemi pubblica uno screenshot o file di esempio

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Come registrare una macro su excel usando Trova?

Postdi M@rtyn@ » 06/02/13 17:18

Fatto Grazie :)
xp con Excel 2007
windows 8 con excel 2013
M@rtyn@
Utente Junior
 
Post: 88
Iscritto il: 02/03/11 21:03


Torna a Applicazioni Office Windows


Topic correlati a "Come registrare una macro su excel usando Trova?":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti