Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro listini

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 listini

Postdi lory124 » 26/06/13 15:58

Salve a tutti,
mi servirebbe una mano...premetto che ho cercato con la funzione cerca ma non ho trovato una soluzione che si adatti al mio problema e non sapendo nulla di macro ecc. non potevo modificare quelle da voi fatte.

Allora io ho 2 file di excel:
- 1 file che contiene un listino con 4 colonne :sigla marchio,codice prodotto,descrizione prodotto, prezzo...
- 1 file sempre con un listino di 4 colonne come sopra ...

a me servirebbe un modo (una macro credo) che confronti i codici prodotto del primo e del secondo file e che crei un altro file con le righe dei prodotti uguali (che hanno lo stesso codice) ma con i prezzi del primo file (esempio nel primo file prodotto A è a 4 euro, nel secondo file prodotto A è a 3 euro...nel nuovo file dovrebbe esserci Prodotto A 4 euro)

questi file posso anche unirli e metterli nei vari fogli (foglio 1 file 1, foglio 2 file 2) credo sia più ragionevole cosi creare una macro adatta..
spero di essermi spiegato bene e che abbiate capito :/ se potrete aiutarmi sarebbe fantastico, grazie mille :) buona giornata
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Sponsor
 

Re: macro listini

Postdi ricky53 » 26/06/13 16:37

Ciao,
prima di tutto benvenuto nel nostro forum!


Adesso veniamo al tuo quesito.

Immagino che i codici prodotto siano la chiave che rende univoco il dato !
Nel file1 ogni codice prodotto è presente una sola volta !
Nel file2 sono presenti solo codici che si trovano nel file1 !

Se confermi queste mie tre assunzioni possiamo provare a trovare la soluzione più utile per la tua esigenza.

Quante sono le righe nei due file ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro listini

Postdi lory124 » 26/06/13 16:48

sisi i codici prodotto sono esempio :150504n ed è collegato ad un prodotto unico
nel file 1 sì ogni codice c'è una sola volta
nel file 2 sì solo prodotti contenuti anche nel file 1

eh per le righe dipende da file a file...cercavo una macro che poi potessi riutilizzare (nel caso mi dice dove dopo dovrò modificare il numero delle righe), comunque facciamo file 1 righe 20 file 2 righe 10 (sono due file di prova che uso per vedere se la macro va)

comunque grazie per il benvenuto ^^
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi Flash30005 » 26/06/13 17:10

Ciao Lory124 e benvenuto nel Forum

E' consigliabile, come dici, di inserire in due fogli (foglio1 file1 e foglio2 file2) in un nuovo file che li contenga entrambi
il risultato andrà nel foglio 3
con questa macro
Codice: Seleziona tutto
Sub riporta()
UR1 = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
UR2 = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Foglio3").Cells.Clear
For RR1 = 1 To UR1
    For RR2 = 1 To UR2
    If Worksheets("Foglio1").Range("A" & RR1).Value = Worksheets("Foglio2").Range("A" & RR2).Value Then
        UR3 = Worksheets("Foglio3").Range("A" & Rows.Count).End(xlUp).Row + 1
         Worksheets("Foglio3").Range("A" & UR3).Value = Worksheets("Foglio1").Range("A" & RR1).Value
         Worksheets("Foglio3").Range("B" & UR3).Value = Worksheets("Foglio1").Range("D" & RR1).Value
         GoTo SaltaRR1
    End If
    Next RR2
SaltaRR1:
Next RR1
End Sub


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro listini

Postdi lory124 » 26/06/13 17:20

provo...ehm piccola domanda come faccio a inserire la macro che mi avete dato :/ scusate l'ignoranza ?
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi Flash30005 » 26/06/13 17:26

con il file aperto in qualsiasi foglio
premi Alt+F11
si aprirà il Vbaproject
ora dal Menu Inserisci selezioni modulo e nel frame di destra incolli l'intero script precedente copiato dal post
Poi lo avvii con l'esecuzione (freccia come il Play dei registratori)
potrai, poi, abbinare un comando di scelta rapida o pulsante

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro listini

Postdi lory124 » 26/06/13 17:33

fatto tutto come detto ma nel foglio 3 non compare nulla..
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi ricky53 » 26/06/13 17:36

Ciao Lory,
il nuovo foglio (nell'esempio di Flash è il "Foglio3") deve avere la stessa struttura dei due fogli di partenza?
I dati sono ordinati per colonna "B" crescente?



Flash: la chiave è la colonna "B" codice prodotto e non la "A" sigla marchio
Ultima modifica di ricky53 su 26/06/13 17:38, modificato 1 volte in totale.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro listini

Postdi lory124 » 26/06/13 17:38

ah no ok ora va...solo 2 cose:
i codici prodotto sono nella seconda colonna dei due fogli non nella prima
nel foglio 3 se i dati (prezzo, seconda colonna) li prendi dal foglio 1 va bene, ora non posso capirlo perchè sono uguali sia nel primo foglio che nel secondo
Ultima modifica di lory124 su 26/06/13 17:41, modificato 1 volte in totale.
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi lory124 » 26/06/13 17:39

ricky53 guarda a me alla fin fine nel foglio3 interessa solo che venga fuori il codice dei prodotti uguali e il prezzo giusto (foglio1) la descrizione ecc non importa
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi ricky53 » 26/06/13 17:40

Allora va bene avere solo due colonne nel foglio3

Cambia qualche prezzo nel "foglio2" e riprova
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro listini

Postdi lory124 » 26/06/13 17:42

sisi le due colonne vanno bene solo nella prima colonna del foglio 3 prende i dati della colonna A del foglio 1-2 invece a me serve che controlli la colonna B
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi lory124 » 26/06/13 17:45

provato con i prezzi e prende quelli giusti del foglio uno :) ora serve solo correggere quella cosa della colonna
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi ricky53 » 26/06/13 18:02

Ciao
cambia
Codice: Seleziona tutto
    If Worksheets("Foglio1").Range("A" & RR1).Value = Worksheets("Foglio2").Range("A" & RR2).Value Then

con
Codice: Seleziona tutto
    If Worksheets("Foglio1").Range("B" & RR1).Value = Worksheets("Foglio2").Range("B" & RR2).Value Then





e
Codice: Seleziona tutto
Worksheets("Foglio3").Range("A" & UR3).Value = Worksheets("Foglio1").Range("A" & RR1).Value

con
Codice: Seleziona tutto
Worksheets("Foglio3").Range("A" & UR3).Value = Worksheets("Foglio1").Range("B" & RR1).Value
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro listini

Postdi lory124 » 26/06/13 18:09

perfettooooooooo :D grazie mille a tutti e due ^.^ gentilissimi e bravissimi :3 grazie
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi ricky53 » 26/06/13 18:25

Ciao,
alla prossima e buon proseguimento.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro listini

Postdi lory124 » 27/06/13 08:29

mmmmm non vorrei stressarvi e rompervi :/ ma mi servirebbe una piccola modifica al codice....con calma non serve subitissimo..
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi Flash30005 » 27/06/13 09:23

Quale modifica?
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro listini

Postdi lory124 » 27/06/13 09:52

per il prezzo...nel foglio 1 in parte alla colonna del prezzo c'e ne è un'altra con dei numeri tipo (1,10,100) che significa che il prezzo vale per quelle quantità li (tipo 20 euro per 100 prodotti)...mi servirebbe che il prezzo del foglio 3 sia il prezzo per unico prodotto (20/100=0,2)

foglio1 i prezzi sono nella colonna D, i numeri (10,100..) colonna E

senza fretta :3 grazie mille davvero
lory124
Utente Junior
 
Post: 21
Iscritto il: 26/06/13 15:40

Re: macro listini

Postdi Flash30005 » 27/06/13 10:17

Allora cambia solo questa riga codice da
Codice: Seleziona tutto
        Worksheets("Foglio3").Range("B" & UR3).Value = Worksheets("Foglio1").Range("D" & RR1).Value

a
Codice: Seleziona tutto
        Worksheets("Foglio3").Range("B" & UR3).Value = Worksheets("Foglio1").Range("D" & RR1).Value / Worksheets("Foglio1").Range("E" & RR1).Value


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "macro listini":


Chi c’è in linea

Visitano il forum: alfrimpa, patel e 5 ospiti