Condividi:        

Macro che copia righe contenenti diversi valori specifici

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

Macro che copia righe contenenti diversi valori specifici

Postdi saramarti92 » 27/03/17 11:03

Ciao a tutti!
Sono nuova di questo forum e vi chiedo scusa anticipatamente se un argomento simile è già stato trattato.

Ho un problema con una macro di excel. Vi descrivo il file su cui sto lavorando:
Il file è composto da 2 fogli: foglio 1 e foglio 2.
Nel primo foglio vengono inseriti i valori input (5 dati in totale), mentre il secondo è organizzato così: ad ogni riga corrisponde un oggetto per il quale nelle diverse colonne sono elencate le relative caratteristiche (corrispondenti ai dati input).

L'obiettivo è creare una macro che copi nel foglio 1 le righe del foglio 2 che contengono contemporaneamente tutti e 5 i valori input.

Scusatemi ma è la prima volta che mi approccio a questo mondo :oops:

Vi ringrazio anticipatamente! :)

Sara
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Sponsor
 

Re: Macro che copia righe contenenti diversi valori specific

Postdi Marius44 » 27/03/17 16:35

Ciao Sara
benvenuta nel Forum.

Per non commettere errori nel creare lo scenario da te descritto, sarebbe molto utile che tu allegassi il tuo file con dati fittizi.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro che copia righe contenenti diversi valori specific

Postdi saramarti92 » 27/03/17 17:14

Ciao Mario, grazie mille per la risposta! :)
Copio il link di dropbox perché dal cellulare non riesco ad allegare il file.. eccolo qui: https://www.dropbox.com/sh/f4wku6lzejdn ... uy2ua?dl=0

Grazie ancora :)
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro che copia righe contenenti diversi valori specific

Postdi Marius44 » 27/03/17 18:20

Ciao Sara
premesso che nel file allegato non vi è alcuna macro
Ho un problema con una macro di excel.
, che nel Foglio2 vi sono, in totale, 8 dati per riga (da col.A a col.H) non capisco cosa vuoi fare.

Tu dici:
Nel primo foglio vengono inseriti i valori input (5 dati in totale), mentre il secondo è organizzato così: ad ogni riga corrisponde un oggetto per il quale nelle diverse colonne sono elencate le relative caratteristiche (corrispondenti ai dati input).


Quindi aggiungi:
L'obiettivo è creare una macro che copi nel foglio 1 le righe del foglio 2 che contengono contemporaneamente tutti e 5 i valori input.


Vorresti forse che una volta inseriti dei dati in Foglio1, nello stesso Foglio1 venissero riportate le righe che contengono gli stessi dati?
E' così?

Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro che copia righe contenenti diversi valori specific

Postdi saramarti92 » 27/03/17 18:30

La macro non c'è perché purtroppo non riesco a salvarla, ho fatto diversi tentativi ma nessuno ha funzionato (al massimo sono riuscita ad ottenere che nel foglio 1 mi copiasse tutti i dati contenuti nel foglio 2, senza però riuscire a creare nessun filtro).. nel foglio 2 ci sono 8 dati per riga, 3 identificano l'oggetto (produttore, tipologia e modello) e gli altri 5 sono le caratteristiche che sono oggetto della mia ricerca.. quello che vorrei ottenere è che una volta inseriti i valori nel foglio 1 ed eseguita la macro, sempre nel foglio 1 mi venissero riportate le righe del foglio 2 che nelle colonne dalla D alla H riportano contemporaneamente valori uguali a quelli inseriti nel foglio 1.. spero di essere riuscita a spiegarmi meglio :(
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43

Re: Macro che copia righe contenenti diversi valori specific

Postdi Marius44 » 27/03/17 19:00

Ciao Sara
prova con questa routine da inserire in un Modulo Standard e da associare ad una Forma o ad un Pulsante (Modulo, non activeX)
Codice: Seleziona tutto
Sub Riporta()
Dim ipt(1 To 5), dti(1 To 5)
Set sh1 = Sheets("Foglio 1")
Set sh2 = Sheets("Foglio 2")
'assumo i dati
For i = 1 To 5
    ipt(i) = sh1.Cells(i + 2, 3).Value
Next i
a = 9
With sh2
    'conto le righe impegnate in Foglio2
    ur = .Cells(Rows.Count, 1).End(xlUp).Row
    'confronto i dati
    For i = 2 To ur
        For j = 1 To 5
            dti(j) = .Cells(i, j + 3).Value
        Next j
        fgl = 0
        If ipt(1) = dti(1) And ipt(2) = dti(2) And ipt(3) = dti(3) And _
            ipt(4) = dti(4) And ipt(5) = dti(5) Then fgl = 1
        If fgl = 1 Then
            .Range("A" & i & ":H" & i).Copy
            sh1.Range("D" & a).PasteSpecial Paste:=xlValues
            a = a + 1
        End If
    Next i
End With
End Sub



Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Macro che copia righe contenenti diversi valori specific

Postdi saramarti92 » 28/03/17 10:02

Ciao Mario!
Ho appena provato la macro che mi hai mandato e fa esattamente quello che mi serve!

Grazie mille, sei stato gentilissimo! :)

Ciao, Sara
Sara
saramarti92
Utente Junior
 
Post: 14
Iscritto il: 27/03/17 10:43


Torna a Applicazioni Office Windows


Topic correlati a "Macro che copia righe contenenti diversi valori specifici":


Chi c’è in linea

Visitano il forum: Nessuno e 31 ospiti