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

kkleinste mit vba

Forumthread: kkleinste mit vba

kkleinste mit vba
09.07.2005 01:40:47
Ric
Moin
ich möchte mit vba den kleinsten Wert in Spalte A selektieren.
Nur wie?
Besten Dank im voraus.
Ric
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kkleinste mit vba
09.07.2005 07:03:38
coach
Hallo Ric,
WorksheetFunction.Small(Range("A:A"), 1)
Gruß Coach
AW: kkleinste mit vba
09.07.2005 08:41:18
Ric
Moin
und weiter? For each? if? Bekomme nur Fehlermeldungen!
Bin wie zugenagelt.
Besten Dank im voraus.
Ric
AW: kkleinste mit vba
09.07.2005 08:45:48
Matthias
Hallo Ric,
SMALL() gibt nur den Wert zurück, nicht die Zelle. wenn du diese selektieren willst, nimm die Find-Methode:

Range("A:A").Find(what:=WorksheetFunction.Small(Range("A:A"), 1), lookat:=xlWhole).Select

Gruß Matthias
Anzeige
AW: kkleinste mit vba
09.07.2005 08:47:40
Matthias
Hallo nochmal,
es geht auch

Range("A:A").Find(what:=WorksheetFunction.Min(Range("A:A")), lookat:=xlWhole).Select

Gruß Matthias
AW: kkleinste mit vba
09.07.2005 08:50:51
Ric
Moin
Danke! Klapt prima. Was bedeutet lookat:=xlWhole
Gruß Ric
AW: kkleinste mit vba
09.07.2005 08:57:14
Hajo_Zi
Hallo Ric,
kompletter Vergleich.
bei LookAt:=xlPart enthalten.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: kkleinste mit vba
09.07.2005 08:57:52
Matthias
Hallo Ric,
Setze der Cursor auf das Wort "Find" und drücke F1, dann siehst du:

Ausdruck.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Ausdruck
Erforderlich. Ein Ausdruck, der ein Range-Objekt zurückgibt.
What Variant erforderlich. Der Inhalt, nach dem gesucht werden soll. Dabei kann es sich um eine Zeichenfolge oder einen beliebigen Microsoft Excel-Datentyp handeln.
After Optionaler Variant-Wert. Gibt die Zelle an, nach der die Suche beginnen soll. Dies entspricht der Position der aktiven Zelle, wenn eine Suche von der Benutzeroberfläche aus durchgeführt wird. Bitte beachten Sie, dass After eine einzelne Zelle im Bereich sein muss. Beachten Sie, dass die Suche nach dieser Zelle beginnt, die angegebene Zelle wird also erst durchsucht, wenn der Suchlauf zur Ausgangszelle zurückkehrt. Wird das Argument nicht angegeben, so ist die obere linke Zelle des Bereichs der Startpunkt für die Suche.
LookIn Optionaler Variant-Wert. Der Typ der Informationen.
LookAt Optional Variant. Kann eine der folgenden XlLookAt-Konstanten sein: xlWhole or xlPart.
SearchOrder Optional Variant. Kann eine der folgenden XlSearchOrder-Konstanten sein: xlByRows or xlByColumns.
SearchDirection Optionaler XlSearchDirection-Wert. Die Suchrichtung.
XlSearchDirection kann eine der folgenden XlSearchDirection-Konstanten sein.
xlNext Standard
xlPrevious
MatchCase Optionaler Variant-Wert. Wenn True, wird bei der Suche zwischen Groß- und Kleinschreibung unterschieden. Der Standardwert ist False.
MatchByte Optionaler Variant-Wert. Wird nur verwendet, wenn double byte-Sprachunterstützung ausgewählt oder installiert wurde. Wenn True, werden double byte-Zeichen nur mit Double-Byte-Zeichen verglichen. Wenn False, so können Double-Byte-Zeichen mit den entsprechenden Single-Byte-Zeichen übereinstimmen.
SearchFormat Optionaler Variant-Wert. Das Format für die Suche.

-------------------------------------------------------------------------------
je nach LookAt-Wert wird die ganze Zelle verglichen oder auch nur ein Teilstring. Wenn LookAt:=xlPart, wird die "1" also auch in der Zelle mit dem Wert "11" gefunden.
Gruß Matthias
Anzeige
AW: kkleinste mit vba
09.07.2005 09:04:15
Ric
Moin
Danke nochmals allen.
Wieder was gelernt.
Gruß Ric
;
Anzeige

Infobox / Tutorial

Kleinsten Wert in Excel mit VBA finden


Schritt-für-Schritt-Anleitung

Um den kleinsten Wert in einer Excel-Spalte mit VBA zu selektieren, kannst Du die Funktion WorksheetFunction.Small verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor (drücke ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

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

    Sub KleinsterWertSelektieren()
       Dim kleinsterWert As Double
       kleinsterWert = WorksheetFunction.Small(Range("A:A"), 1)
       Range("A:A").Find(what:=kleinsterWert, lookat:=xlWhole).Select
    End Sub
  4. Schließe den Editor und führe das Makro aus (drücke ALT + F8, wähle KleinsterWertSelektieren und klicke auf "Ausführen").

Mit diesem Code wird der kleinste Wert in Spalte A gefunden und die entsprechende Zelle selektiert.


Häufige Fehler und Lösungen

  • Fehlermeldung beim Ausführen des Codes: Stelle sicher, dass in Spalte A Werte vorhanden sind. Wenn die Spalte leer ist, wird ein Fehler generiert.

  • Falsche Zelle wird ausgewählt: Überprüfe, ob der lookat-Parameter in Find korrekt eingestellt ist. Der Wert xlWhole sucht nach dem vollständigen Wert, während xlPart auch Teilstrings findet.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, den kleinsten Wert zu finden:

  1. Verwendung der Min-Funktion:

    Range("A:A").Find(what:=WorksheetFunction.Min(Range("A:A")), lookat:=xlWhole).Select
  2. Direkte Zuweisung: Du kannst den kleinsten Wert auch direkt einer Variablen zuweisen, ohne die Zelle auszuwählen:

    Dim kleinsterWert As Double
    kleinsterWert = WorksheetFunction.Small(Range("A:A"), 1)
    MsgBox "Der kleinste Wert ist: " & kleinsterWert

Praktische Beispiele

Hier sind zwei praktische Beispiele für die Anwendung der WorksheetFunction.Small Funktion:

  1. Kleinsten Wert in einer definierten Zelle ausgeben:

    Sub KleinsterWertAusgeben()
       Dim kleinsterWert As Double
       kleinsterWert = WorksheetFunction.Small(Range("A1:A10"), 1)
       Range("B1").Value = kleinsterWert
    End Sub
  2. Kleinsten Wert in einer Meldung anzeigen:

    Sub KleinsterWertMeldung()
       Dim kleinsterWert As Double
       kleinsterWert = WorksheetFunction.Small(Range("A:A"), 1)
       MsgBox "Der kleinste Wert in Spalte A ist: " & kleinsterWert
    End Sub

Tipps für Profis

  • Verwendung von lookat: Der Parameter lookat kann wertvoll sein, um sicherzustellen, dass die Suche präzise ist. Verwende xlWhole, wenn Du den exakten Wert suchst, oder xlPart, wenn Teile des Wertes ausreichend sind.

  • Fehlerbehandlung einbauen: Implementiere Fehlerbehandlung in Deinem VBA-Code, um unerwartete Fehler zu vermeiden:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Small und Min in VBA?
Small gibt den n-ten kleinsten Wert zurück, während Min immer den kleinsten Wert zurückgibt. Wenn Du mehrere kleinste Werte benötigst, verwende Small.

2. Wie kann ich den kleinsten Wert in einer nicht zusammenhängenden Auswahl finden?
Du musst jeden einzelnen Bereich in einer Schleife durchgehen oder die Werte in ein Array laden und dann Small darauf anwenden.

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