Macro filtro e sottrazione



  • Macro filtro e sottrazione
    di Giacomo (utente non iscritto) data: 05/05/2017 15:28:34

    Salve a tutti,
    Ho un piccolissimo problema:
    Nella colonna "a" ho i nomi dei colori mentre nella colonna "b" ho dei valori numerici.

    Vorrei che con una macro, solo i colori che hanno il nome "giallo" e "rosso" devono diminuire il loro rispettivo valore nella colonna "b" di 10, senza toccare il resto dei colori con i loro valori.

    Grazie per l'aiuto.

    Spero di essere stato chiaro.



  • di patel data: 05/05/2017 15:36:46

    potrai essere più chiaro allegando un file di esempio





  • di giacomo (utente non iscritto) data: 05/05/2017 16:55:33

    ho inserito il file,

    es.

    colonna a--------colonna b
    giallo-------------12
    blu-------------34
    viola--------------67
    rosso----------------90
    verde-------------23
    giallo--------------23

    vorrei che solo i valori nella colonna b di "rosso" e "giallo" vengano diminuiti di 10 metre il resto deve rimanere quello originale.

    risultato

    colonna a-------colonna b
    giallo-------------2----------------------------------diminuito di dieci
    blu-------------34
    viola--------------67
    rosso----------------80-------------------------------diminuito di 10
    verde-------------23
    giallo--------------13--------------------------------- diminuito di 10






  • di ges data: 05/05/2017 17:41:20

    Ciao,
    se ho ben capito:
     
    Sub dimuniusci()
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            If UCase(Cells(i, 1)) = "GIALLO" Or UCase(Cells(i, 1)) = "ROSSO" Then
                Cells(i, 2) = Cells(i, 2) - 10
            End If
        Next i
    End Sub
    



  • di Giacomo (utente non iscritto) data: 05/05/2017 19:04:01

    funziona benissimo,

    se avessi invece oltre a giallo, rosso, anche verde, marrone, viola.

    come posso aggiungere alla macro questi valori


    scusami solo che non sono esperto in merito


    Grazie



  • di ges data: 05/05/2017 20:47:34

    Basta che li aggiungi così:
     
    Sub dimuniusci()
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            If UCase(Cells(i, 1)) = "GIALLO" Or UCase(Cells(i, 1)) = "ROSSO" Or UCase(Cells(i, 1)) = "VERDE" Or UCase(Cells(i, 1)) = "MARRONE" Or UCase(Cells(i, 1)) = "VIOLA" Then
                Cells(i, 2) = Cells(i, 2) - 10
            End If
        Next i
    End Sub