Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Minimum finden und auf Zelle verweisen

VBA - Minimum finden und auf Zelle verweisen
Ines
Hallo,
seit Stunden probiere ich eine Lösung für mein eigentlich simples Problem zu finden, komme aber leider keinen Schritt mehr weiter.
Ich habe eine Tabelle mit Plattenabmessungen (Länge, Breite, Verhältnis von Oberfläche zu Volumen, ...) von Plattenwärmetauschern. Aus der Spalte (Verhältnis von Oberfläche zu Volumen) soll das Minimum gefunden werden und dann die zugehörigen Abmessungen (L, B, etc.) ausgegeben werden.
Das Minimum finde mit:
verhaeltnis_min=Application.WorksheetFunction.min(myRange)
Weiter komme ich nicht, weil die Zelle mit dem Minimum nicht aktiviert wird und ich deshalb keinen Verweis machen kann.
Ich hoffe sehr, dass mir jemand weiter helfen kann. Vielen Dank schon mal, Ines
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA - Minimum finden und auf Zelle verweisen
03.05.2011 16:27:34
fcs
Hallo Ines,
hier ein Beispiel, wie du die Zelle mit dem Minimum ermitteln kannst und dann weitere Werte.
Gruß
Franz
Sub aatest()
Dim wks As Worksheet
Dim myRange As Range
Dim verhaeltnis_min As Double, Laenge As Double, Breite As Double
Dim Zelle As Range, Zeile As Variant
Set wks = ActiveSheet
With wks
'gesuchtes minimum in Spalte 6 (F) ab Zeile 3 suchen
Set myRange = .Range(.Cells(3, 6), .Cells(.Rows.Count, 6).End(xlUp))
verhaeltnis_min = Application.WorksheetFunction.Min(myRange)
'Zeile des Minimums im Bereich
Zeile = Application.WorksheetFunction.Match(verhaeltnis_min, myRange, 0)
'Zelle mit Minimum
Set Zelle = myRange.Range("A1").Offset(Zeile - 1, 0)
Zeile = Zelle.Row
Laenge = .Cells(Zeile, 4).Value
Breite = .Cells(Zeile, 5).Value
End With
End Sub

Anzeige
AW: VBA - Minimum finden und auf Zelle verweisen
05.05.2011 17:04:52
Ines
Hallo Franz,
vielen Dank für deine Lösung! Ich hab zwar noch ein bisschen gebraucht um deine Lösung zu verstehen, aber jetzt funktioniert es. VBA ist ganz schön kompliziert, wenn man noch Anfänger ist...
Liebe Grüße, Ines
;
Anzeige
Anzeige

Infobox / Tutorial

Minimum in Excel mit VBA finden und auf Zelle verweisen


Schritt-für-Schritt-Anleitung

Um das Minimum in einer Excel-Tabelle mithilfe von VBA zu finden und die zugehörigen Werte auszugeben, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projekt-Explorer mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Modul.

  3. Kopiere und füge den folgenden Code ein:

    Sub MinWertFinden()
       Dim wks As Worksheet
       Dim myRange As Range
       Dim verhaeltnis_min As Double, Laenge As Double, Breite As Double
       Dim Zelle As Range, Zeile As Variant
    
       Set wks = ActiveSheet
       With wks
           ' Gesuchtes Minimum in Spalte 6 (F) ab Zeile 3 suchen
           Set myRange = .Range(.Cells(3, 6), .Cells(.Rows.Count, 6).End(xlUp))
           verhaeltnis_min = Application.WorksheetFunction.Min(myRange)
    
           ' Zeile des Minimums im Bereich
           Zeile = Application.WorksheetFunction.Match(verhaeltnis_min, myRange, 0)
    
           ' Zelle mit Minimum
           Set Zelle = myRange.Range("A1").Offset(Zeile - 1, 0)
           Zeile = Zelle.Row
           Laenge = .Cells(Zeile, 4).Value
           Breite = .Cells(Zeile, 5).Value
    
           MsgBox "Minimum gefunden: " & verhaeltnis_min & vbCrLf & _
                  "Länge: " & Laenge & vbCrLf & _
                  "Breite: " & Breite
       End With
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und drücke ALT + F8, wähle MinWertFinden aus und klicke auf Ausführen.

Mit dieser Methode kannst du den Minimalwert in Excel finden und die zugehörigen Abmessungen ausgeben.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler."

    • Lösung: Überprüfe, ob der Bereich (myRange) korrekt definiert ist und ob Daten in der angegebenen Spalte vorhanden sind.
  • Fehler: "Der Wert, den ich suche, wird nicht gefunden."

    • Lösung: Stelle sicher, dass die Zellen im Suchbereich tatsächlich Werte enthalten und keine leeren Zellen sind, die den VBA Minimum-Befehl beeinflussen könnten.

Alternative Methoden

Eine alternative Methode, um das Minimum zu finden, ist die Verwendung von Excel-Formeln. Du kannst die MIN-Funktion direkt in eine Zelle eingeben, um den Minimalwert zu ermitteln:

=MIN(F3:F100)

Anschließend kannst du die INDEX- und VERGLEICH-Funktionen nutzen, um die zugehörigen Werte zu finden:

=INDEX(D3:D100,VERGLEICH(MIN(F3:F100),F3:F100,0))

Praktische Beispiele

Angenommen, du hast folgende Daten in deiner Tabelle:

Länge Breite Verhältnis
10 5 2
8 6 1.33
12 4 3

Mit dem oben genannten VBA-Code wird das Minimum des Verhältnisses (1.33) gefunden und die entsprechenden Abmessungen (Länge: 8, Breite: 6) angezeigt.


Tipps für Profis

  • Nutze die Application.Min-Funktion, um den Minimalwert direkt zu ermitteln, falls du nur eine einfache Berechnung benötigst.
  • Verwende die VBA Application.Min-Funktion, wenn du mit Arrays arbeitest, um die Effizienz zu steigern.
  • Experimentiere mit der WorksheetFunction.Min-Methode, um sicherzustellen, dass du die richtige Funktion für deine Anwendung verwendest.

FAQ: Häufige Fragen

1. Wie finde ich das Minimum in mehreren Spalten?
Du kannst die MIN-Funktion auf einen Bereich anwenden, der mehrere Spalten umfasst, z.B. =MIN(A1:C100).

2. Was mache ich, wenn ich den minimalen Wert in einer großen Datenmenge suchen muss?
Es empfiehlt sich, den Suchbereich so klein wie möglich zu halten und die Funktion auf spezifische Bereiche anzuwenden, um die Leistung zu optimieren.

3. Kann ich den Code in einer anderen Excel-Version verwenden?
Ja, der gegebene VBA-Code sollte in den meisten Versionen von Excel (z.B. Excel 2010, 2013, 2016 und 2019) funktionieren. Überprüfe jedoch die Kompatibilität, wenn du eine sehr alte Version verwendest.

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