Macro prezzi pesi



  • Macro prezzi pesi
    di Antony (utente non iscritto) data: 17/05/2014 18:29:41

    Ciao a Tutti... Ho un piccolo problema, ho nella colonna A tante diverse categorie di alcuni prodotti e mentre nella colonna B i prezzi e nella colonna C vorrei impostare i pesi. Vorrei con una macro impostare che per una determinata categoria deve aumentare il prezzo di una percentuale (ad esempio il 3%) (arrotondato con massimo due cifre decimali), e poi mi deve aggiungere per alcune categorie che imposto un peso specifico ad esempio 30(kg).
    Vi faccio un esempio:

    Vorrei che solo la categoria passeggini aumenti il prezzo del 3% e il peso deve essere di 20
    Vorrei che solo la categoria seggiolini aumenti il prezzo del 2% e il peso deve essere di 5

    Questo è quello che ho:

    Colonna A Colonna B Colonna C
    Passeggino 255,78
    Seggiolini 15,00

    Questo è quello che vorrei:

    Colonna A colonna B Colonna C
    Passeggino 263,45 (serebbe 255,78+3%) 20
    seggiolini 15,30 (sarebbe 15,00 + 2%) 5


    Grazie a tutti in anticipo per l'aiuto.



  • di lepat (utente non iscritto) data: 17/05/2014 18:46:17

    allega un file di esempio


  • macro prezzi peso
    di Antony (utente non iscritto) data: 17/05/2014 20:31:36

    Ciao ho allegato il file in zip



  • di lepat (utente non iscritto) data: 18/05/2014 07:29:57

    non ho capito perché ti occorre una macro, basta una formula, inoltre il peso lo puo scrivere tu, vedi allegato


  • macro prezzi pesi
    di antony (utente non iscritto) data: 18/05/2014 09:33:06

    Purtroppo servirebbe una macro perche ci sono circa 300 mila articoli diversi con pesi e percentuali differenti tra loro. Scusami se non te l ho scritto prima.

    Antony



  • di lepat (utente non iscritto) data: 18/05/2014 10:16:42

    le formule che ti ho messo le puoi copiare trascinandole in basso, una macro non fa le magie, i pesi e le & li devi scrivere tu, se non ti è chiaro il procedimento allega il file reale


  • Macro Prezzi Pesi
    di Antony (utente non iscritto) data: 18/05/2014 14:26:15

    Provo a spiegarmi meglio:

    Ho nel foglio 1 (una leggenda) costituita così:

    Colonna A Colonna B Colonna C

    Passeggini 3 10
    Seggiolini 5 9
    Coperte 10 28

    Dove nella colonna A vengono indicati i vari articoli, mentre nella colonna B le percentuali (ad esempio 3%, 5%, ....) e nella colonna C i pesi

    Nel foglio 2 ho invece circa 300 mila articoli, dove nella colonna A ho tutti gli articoli mentre nella colonna B ho i prezzi. Nel foglio 2 ho questa situazione:

    Colonna A Colonna B

    Passeggini 123,98
    coperte 76,98
    coperte 132,96
    passeggini 23
    coperte 56,07
    Seggiolini 287,90
    ......


    Io vorrei Aggiungere nel foglio 2:
    - nella colonna C i pesi relativi agli articoli secondo quanto indicato nella leggenda (foglio 1)
    - nella Colonna D il risultato tra il prezzo indicato nella colonna B foglio2 + la percentuale indicato nella colonna B del foglio 1 sempre tenendo conto degli articoli.

    Questo è il risultato che vorre i dopo la macro nel foglio 2

    Colonna A Colonna B colonna C colonna D

    Passeggini 123,98 10 127,70 (col.B +3% quanto indicato per i pass nella legenda)
    coperte 76,98 28 84,67
    coperte 132,96 28 146,25
    passeggini 23 10 23,69
    coperte 56,07 28 61,67
    Seggiolini 287,90 9 302,29



    n.b. quando si fa la percentuale il risultato che poi si scriverà nella colonna D del foglio 2 deve contenere massimo 2 cifre decimali.


  • Macro Prezzi Pesi
    di Antony (utente non iscritto) data: 18/05/2014 14:28:55

    ops .... Negli esempi comunque gli spazi delimitano una colonna da un'altra, purtroppo si sono uniti....



  • di lepat (utente non iscritto) data: 18/05/2014 16:33:25

    hai notato che ti ho risposto con un file invece di scrivere tante parole ?
    se vuoi aiuto rispondi anche tu così.


  • macro prezzi pesi
    di Antony (utente non iscritto) data: 18/05/2014 19:00:07

    Ho visto il file che hai caricato ma non mi serve a nulla, ti ho caricato un nuovo file. Vorrei che nel foglio 2 con una macro ogni peso corrispondente alla leggenda (foglio1) si inserisse nella colonna C del foglio 2 e inoltre nella colonna D del foglio 2 vorrei che si avesse come risultato:

    prezzi della colonna B (foglio2) + la percentuale che riguarda quel determinato articolo indicato nella leggenda (foglio1)

    non so se ho reso l'idea?

    Quello che vorrei come risultato e nel foglio 3 (ho fatto solo l'esempio del primo articolo) ovviamente questo deve avvenire nel foglio 2

    n.b. il risultato della percentuale deve essere massimo con due cifre decimali.

    Grazie



  • di lepat (utente non iscritto) data: 18/05/2014 19:29:16

    prova questa
     
    Sub a()
    Dim c As Range
    Set sh1 = Sheets(1)
    Set sh2 = Sheets(2)
    LR1 = sh1.Cells(Rows.Count, "A").End(xlUp).Row
    LR2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row
    Set art1 = sh1.Range("A2:A" & LR2)
    With sh2
      For r = 2 To LR2
        art2 = .Cells(r, "A")
        Set c = art1.Find(art2)
        If Not c Is Nothing Then
          .Cells(r, "C") = c.Offset(, 1)
          .Cells(r, "D") = .Cells(r, "B") * (1 + c.Offset(, 2) / 100)
          .Cells(r, "D").NumberFormat = "0.00"
        End If
      Next
    End With
    End Sub
    



  • di Textomb data: 18/05/2014 19:47:35

    Se vuoi puoi farne a meno della macro.
    In base al tuo file, nel foglio2 scrivi
    in C2 =INDICE(Foglio1!$A:$B;CONFRONTA(Foglio2!A2;Foglio1!$A:$A;0);2)
    in D2 =B2+(B2*INDICE(Foglio1!$A:$C;CONFRONTA(Foglio2!A2;Foglio1!$A:$A;0);3)/100)
    e poi trascini fino alla fine. Oppure più velocemente doppio clic sulla crocetta in basso a dx della selezione C2:D2



  • di ninai (utente non iscritto) data: 18/05/2014 20:06:09

    Ciao

    formule alternative a quelle di textomb:
    in C2:
    =CERCA.VERT($A2;Foglio1!$A$2:$C$4;2;FALSO)

    in D2:
    =B2*(1+CERCA.VERT($A2;Foglio1!$A$2:$C$4;3;FALSO)/100)



  • di Textomb data: 18/05/2014 20:17:36

    @ninai
    pensavo di non utilizzare il CERCA.VERT in quanto l'elenco dei nomi nel foglio1 non è in ordine crescente...



  • di ninai (utente non iscritto) data: 18/05/2014 21:14:34

    @Textomb

    mettendo "FALSO" , come ultimo argomento, non è necessario che siano in ordine. Servono in ordine crescente quando si cerca un risultato approssimato (VERO).