Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Minimum in Array suchen

Minimum in Array suchen
14.09.2005 12:22:55
Bastian
Hallo Zusammen,
kleine aber peinliche Frage. Wie kann man aus einem Array möglichst einfach ein Minimum suchen lassen? Ich will nicht jedes mal wieder eine Schleife dafür erstellen.
Danke schon mal
Bastian
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Minimum in Array suchen
14.09.2005 12:42:29
MichaV
Hallo,

Option Explicit
Sub MinSuchen()
Dim a
a = Array(5, 1, 8, 3, 9, 2, 7, 11, 4)
MsgBox WorksheetFunction.Min(a)
End Sub

Gruss- Micha
PS: Rückmeldung wäre nett.
AW: Minimum in Array suchen
14.09.2005 13:32:23
Bastian
Ja das klappt ja. Danke
PS:Kann man Arrays auch an eine Funktionprozedur weiter geben?
Anzeige
AW: Minimum in Array suchen
14.09.2005 13:35:55
MichaV
Hallo,
ja:

Option Explicit
Sub MinSuchen()
MsgBox ArrayMin(Array(5, 1, 8, 3, 9, 2, 7, 11, 4))
End Sub
Function ArrayMin(a)
ArrayMin = WorksheetFunction.Min(a)
End Function

Gruss- Micha
PS: Rückmeldung wäre nett.
AW: Minimum in Array suchen
14.09.2005 13:45:12
Bastian
Habe den Fehler gefunden.
Danke
Anzeige
Danke für Deine Rückmeldung! mT
14.09.2005 13:46:41
MichaV
Hallo,
welchen Fehler? Naja, egal. Freut mich, daß es klappt.
Gruss- Micha
Nicht ganz Fehler
14.09.2005 18:05:12
Bastian
Wenn ich ein Array, das als Double definiert war, übergeben wollte hat VBA gemeckert, dass die Variablen nicht verträglich sind (oder so etwas in der Art). Jedenfalls habe ich die von der Funktion erwartete Variable nun als Variant erklärt, und sie da es geht. Warum bleibt noch offen.
Das es gehen muss hatte mich dann dazu gebracht doch noch mal zu forschen.
Bastian
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Minimum in Array suchen


Schritt-für-Schritt-Anleitung

Um das Minimum in einem Array mit Excel VBA zu finden, kannst du die WorksheetFunction.Min Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    Sub MinSuchen()
       Dim a
       a = Array(5, 1, 8, 3, 9, 2, 7, 11, 4)
       MsgBox WorksheetFunction.Min(a)
    End Sub
  4. Führe das Makro aus (F5), um das Minimum im Array anzuzeigen.

Das Ergebnis sollte eine MsgBox mit dem Wert 1 sein, da dies der kleinste Wert im Array ist.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die beim Arbeiten mit Arrays in VBA auftreten können, sowie deren Lösungen:

  • Fehler: Ungültiger Datentyp

    • Wenn du versuchst, ein Array vom Typ Double an eine Funktion zu übergeben, die eine Variant erwartet, kann es zu einem Typkonflikt kommen. Stelle sicher, dass die Funktion die Parameter als Variant definiert:
    Function ArrayMin(a As Variant)
        ArrayMin = WorksheetFunction.Min(a)
    End Function
  • Fehler: Array nicht initialisiert

    • Stelle sicher, dass das Array korrekt initialisiert wurde, bevor du versuchst, es zu verwenden.

Alternative Methoden

Es gibt mehrere Möglichkeiten, das Minimum in einem Array zu finden, abgesehen von der Verwendung der WorksheetFunction.Min Funktion:

  1. Eigene Schleife durch das Array: Du kannst auch eine Schleife verwenden, um das Minimum manuell zu finden:

    Function FindMinInArray(arr As Variant) As Double
       Dim minVal As Double
       Dim i As Long
    
       minVal = arr(0)
       For i = LBound(arr) To UBound(arr)
           If arr(i) < minVal Then
               minVal = arr(i)
           End If
       Next i
    
       FindMinInArray = minVal
    End Function
  2. Verwendung der vba find minimum value in array Methode: Du kannst auch die vba in array suchen Methode verwenden, um deine Werte zu durchsuchen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Minimum in einem Array finden kannst:

  • Beispiel 1: Min aus einem festen Array

    Sub BeispielMin()
       Dim meineArray As Variant
       meineArray = Array(10, 20, 5, 30, 15)
       MsgBox "Das Minimum ist: " & WorksheetFunction.Min(meineArray)
    End Sub
  • Beispiel 2: Min aus einer dynamischen Array-Erstellung

    Sub DynamischesArrayMin()
       Dim dynamischesArray() As Double
       ReDim dynamischesArray(0 To 4)
    
       dynamischesArray(0) = 8
       dynamischesArray(1) = 3
       dynamischesArray(2) = 7
       dynamischesArray(3) = 1
       dynamischesArray(4) = 6
    
       MsgBox "Das Minimum ist: " & WorksheetFunction.Min(dynamischesArray)
    End Sub

Tipps für Profis

  • Verwende die vba min function, wenn du mit großen Arrays arbeitest, um die Performance zu verbessern.
  • Experimentiere mit der vba minimum function, um verschiedene Datentypen zu verarbeiten.
  • Nutze Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind, was Bugs verringert.

FAQ: Häufige Fragen

1. Kann ich Arrays an eine Funktion übergeben? Ja, du kannst Arrays an Funktionen übergeben, indem du sie als Variant definierst.

2. Was ist der Unterschied zwischen WorksheetFunction.Min und einer eigenen Min-Funktion? WorksheetFunction.Min ist schneller und einfacher zu verwenden, während eine eigene Funktion mehr Flexibilität bietet, z.B. bei der Handhabung von Fehlern oder spezifischen Datentypen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige