Funzione VBA Max - Come trovare il massimo utilizzando Max in Excel VBA?

Max, come suggerisce il nome, viene utilizzato per scoprire il valore massimo da un dato set di dati o da un array, questa è una funzione del foglio di lavoro quindi viene utilizzata con il metodo del foglio di lavoro come funzione del foglio di lavoro, c'è una limitazione a questo metodo come questo funzione accetta un array come argomento, possono esserci solo 30 valori nell'array.

Funzione Excel VBA Max

Abbiamo diverse funzioni numeriche in Excel. Possiamo contare i valori numerici nell'intervallo, possiamo sommare e possiamo trovare il valore minimo e il valore massimo del lotto. Per trovare il valore massimo del lotto, abbiamo una funzione excel chiamata MAX, che restituirà il valore massimo dell'intervallo di numeri fornito. In VBA, non abbiamo alcuna funzione incorporata chiamata "MAX" per ottenere il numero massimo. Vedremo come utilizzare questa funzione VBA Max di Excel.

Esempio di Max Function in Excel VBA

Sfortunatamente, non abbiamo il lusso di usare MAX come funzione integrata di VBA, ma possiamo accedere a questa funzione come parte della classe della funzione del foglio di lavoro.

Ora guarda il codice sottostante.

Codice:

Sub MAX_Example1 () Dim a As Integer Dim b As Integer Dim c As Integer Dim Risultato As Integer a = 50 b = 25 c = 60 Result = WorksheetFunction.Max (a, b, c) MsgBox Result End Sub

Nell'esempio sopra, ho dichiarato tre variabili per memorizzare il numero.

Dim a As Integer  Dim b As Integer  Dim c As Integer

Ho dichiarato un'altra variabile per mostrare i risultati.

Dim Risultato come numero intero.

Per le prime 3 tre variabili, ho assegnato rispettivamente il valore 50, 25 e 60.

a = 50  b = 25  c = 60

Nella riga successiva, ho applicato MAX come classe di funzioni del foglio di lavoro VBA per memorizzare il risultato nella variabile "Risultato".

Risultato = WorksheetFunction.Max (a, b, c)

Quindi, finalmente, sto mostrando il valore nella finestra del messaggio in VBA. Risultato MsgBox

Ora eseguirò questo codice usando F5 o manualmente e vedrò qual è il risultato nella finestra del messaggio.

Quindi, il risultato è 60.

Da tutti i numeri forniti, cioè 50, 25 e 60, il numero massimo è 60.

Esempio avanzato di Max in Excel VBA

I loop sono molto importanti in VBA per eseguire tutte le celle e arrivare al risultato. Vedremo come combinare VBA MAX con i loop per arrivare al valore massimo dalla lista dei numeri.

Ho un elenco di articoli e le relative prestazioni di vendita mensili di tali articoli, come mostrato di seguito.

Ora per ogni articolo voglio sapere qual è il numero massimo di vendite in 4 mesi, come mostrato nell'immagine.

Applicando MAX per eccellere, possiamo trovarlo in pochi secondi.

Ora vedremo come trovare il valore massimo utilizzando il codice VBA.

Il codice seguente eseguirà il compito di trovare il numero massimo per ogni articolo.

Codice:

Sub MAX_Example2 () Dim k As Integer Per k = da 2 a 9 celle (k, 7) .Value = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Next k End Sub

Questo identificherà facilmente il numero massimo.

Ora esegui il codice manualmente o premi il tasto F5 e guarda il risultato come mostrato di seguito.

Per ottenere i valori massimi del nome del mese, utilizzare il codice seguente.

Codice:

Sub MAX_Example2 () Dim k As Integer Per k = da 2 a 9 celle (k, 7) .Value = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Celle (k, 8) .Value = WorksheetFunction.Index (Range ("B1: E1"), WorksheetFunction.Match _ (Cells (k, 7) .Value, Range ("B" & k & ":" & "E" & k) )) Avanti k End Sub

In base al valore fornito dalla funzione VBA max, la funzione INDICE e la funzione CONFRONTA restituiranno il mese associato nella riga successiva.

Cose da ricordare

  • Se il numero duplicato è presente, verrà visualizzato solo un numero che viene prima.
  • Questa è la formula opposta della funzione MIN in Excel.
  • MAX non è una funzione VBA. È una funzione incorporata in Excel, quindi utilizza la classe della funzione del foglio di lavoro.

Puoi scaricare questo modello Excel qui - Modello di funzione VBA Max.

Articoli interessanti...