Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    54

    help macro VBA

    In un foglio excel, dovrei fare un controllo di questo tipo:
    nella cella a1 ho un certo valore. Nella cella a2 ho un altro valore.
    Se a1 è maggiore o minore di a2 del 5%, nella cella a3 mi compare la scritta "modello valido, errpre del e la differenza percentuale tra a1 ed a2", altrimenti mi compare la scritta "modello non valido, errore del e la differenza percentuale tra a1 ed a2".
    Di vba non so praticamente null, ma da quel che so non dovrebbe essere troppo difficile una cosa di questo tipo. Mi potete dare qualche link a dei tutorial per imparare un po' vba?
    Grazie,
    Andrea

  2. #2
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    questa funzione che ho scritto potrebbe fare al caso tuo, la puoi inserire in un Modulo ed utilizzarla direttamente dal foglio di Excel:

    codice:
    Public Function DiffPerc(Valore1 As Double, Valore2 As Double) As String
    Dim DB As Double
    DP = ((Valore2 - Valore1) / Valore1) * 100
    If Abs(DP) > 5 Then
        DiffPerc = "modello valido, errpre del e la differenza percentuale tra a1 ed a2"
    Else
        DiffPerc = "modello non valido, errore del e la differenza percentuale tra a1 ed a2"
    End If
    End Function
    dal foglio di Excel la usi così:

    codice:
    =DIFFPERC(A1;A2)
    Boolean

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    54
    ciao, grazie per l'utile suggerimento, però vorrei che al posto della stringa "e la differenza percentuale tra a1 ed a2" comparisse il valore numerico corrispondente alla differenza percentuale tra a1 ed a2, il valore della variabile DP. Mi puoi dire come modificare lo script?
    grazie!
    Andrea

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    codice:
    If Abs(DP) > 5 Then
        DiffPerc = "modello valido, errore del " & DP & " %"
    Else
        DiffPerc = "modello non valido, errore del " & DP & " %"
    End If
    Boolean

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    54
    grazie! Ultime due cose:
    1) quando mi scrive differenza del etc... mi mette un numero con molte cifre decimali, come posso fare per metterne solo una o due?
    2) è possibile fare in modo che se l'errore è inferiore al 5% lo sfondo della cella sia verde, altrimenti rosso?

    grazie 1000 !
    Andrea

  6. #6
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    le cifre decimali sono dovute al fatto che la variabile DB è dichiarata come Double, per cui conserva tutte le cifre decimali, per limitare il loro numero è possibile utilizzare la funzione Format (nell'esempio vengono conservate solo 2 cifre decimali):

    codice:
    Public Function DiffPerc(Valore1 As Double, Valore2 As Double) As String
    Dim DB As Double
    DP = ((Valore2 - Valore1) / Valore1) * 100
    If Abs(DP) > 5 Then
        DiffPerc = "modello valido, errore del " & Format(DP, "00.00") & " %"
    Else
        DiffPerc = "modello non valido, errore del " & Format(DP, "00.00") & " %"
    End If
    End Function
    per cambiare il formato della cella in base al suo contenuto devi usare la formattazione condizionale... dai un'occhiata alla guida di Excel a riguardo.

    Boolean

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.