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

Forumthread: Find Methode Zellen finden größer Wert

Find Methode Zellen finden größer Wert
04.12.2014 23:59:30
Robert
Hallo zusammen,
ich will mit der Find-Methode abfragen ob in einem Range mindestens eine Zelle
den Wert größer 50 hat.
Bei folgendem Makro bekomme ich die Fehlermeldung:
"Erwartet Listentrennzeichen oder )"
Sub Abfrage_groesser_50()
Dim c As Range
Set c = Range("AG10:AO56")
Set ergebnis = c.Find(what:>50, lookat:=xlWhole, LookIn:=xlValues)
If ergebnis Is Nothing Then
MsgBox "keine groesser 50"
Else: MsgBox "OK"
end if
End Sub

....what:=>50 geht auch nicht.
nach längerer Internet-Recherche komm ich nicht weiter.
Kann mir jemand bitte einen Tipp geben?
Danke schon mal im vorraus

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Find Methode Zellen finden größer Wert
05.12.2014 00:38:06
Mullit
Hallo,
wenn die Zellen unsortiert sind, kannst Du's z.B. besser so machen:
Option Explicit
Public Sub Abfrage_groesser_50()
Dim avntArray As Variant
Dim vntElem As Variant
avntArray = Range("AG10:AO56")
For Each vntElem In avntArray
If vntElem > 50 Then MsgBox "OK": Exit For
Next
If IsEmpty(vntElem) Then MsgBox "keine groesser 50"
End Sub

Gruß,

Anzeige
AW: Find Methode Zellen finden größer Wert
05.12.2014 01:05:33
Robert
Hallo Mullit,
Vielen Dank für die schnelle Antwort.
Das Makro funktioniert einwandfrei!
Ich schau mir die Thematik bzgl. vntElem und avntArray
auf jeden Fall noch an.
Bleibt noch die Frage ob man mit der Find-Methode generell keinen größer oder kleiner Wert
angeben kann. Nur so aus Interesse...
Gruß

Anzeige
mit Find nicht, aber mit CountIf (Zählenwenn)
05.12.2014 08:29:48
Tino
Hallo,
Sub Abfrage_groesser_50()
Dim c As Range
Set c = Range("AG10:AO56")
If Application.WorksheetFunction.CountIf(c, ">50") > 0 Then
MsgBox "keine groesser 50"
Else
MsgBox "OK"
End If
End Sub
Gruß Tino
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Zellen mit Werten größer 50 in Excel finden


Schritt-für-Schritt-Anleitung

Um in einem bestimmten Bereich von Excel zu überprüfen, ob mindestens eine Zelle einen Wert größer 50 hat, kannst Du die folgende VBA-Makro-Methode verwenden. Der Code nutzt die Find-Methode, um die Zellen zu durchsuchen:

Sub Abfrage_groesser_50()
    Dim c As Range
    Set c = Range("AG10:AO56")
    Set ergebnis = c.Find(what:=">50", lookat:=xlWhole, LookIn:=xlValues)
    If ergebnis Is Nothing Then
        MsgBox "keine groesser 50"
    Else
        MsgBox "OK"
    End If
End Sub

Bitte achte darauf, dass Du die Anführungszeichen um >50 korrekt setzt. In der ursprünglichen Frage wurde ein Fehler gemacht, indem die Syntax nicht korrekt war.


Häufige Fehler und Lösungen

Ein häufiger Fehler, der bei der Verwendung der Find-Methode auftritt, ist die falsche Syntax. Achte darauf, dass Du die Bedingung in Anführungszeichen setzt. Zudem kann der Fehler "Erwartet Listentrennzeichen oder )" auch auftreten, wenn die Argumente nicht korrekt übergeben werden.

Wenn Du die Find-Methode nicht verwenden kannst, gibt es alternative Ansätze, die ebenfalls effektiv sind.


Alternative Methoden

Wenn die Find-Methode nicht die gewünschten Ergebnisse liefert oder Du eine einfachere Lösung suchst, kannst Du die CountIf-Funktion verwenden. Hier ist ein Beispiel:

Sub Abfrage_groesser_50()
    Dim c As Range
    Set c = Range("AG10:AO56")
    If Application.WorksheetFunction.CountIf(c, ">50") > 0 Then
        MsgBox "OK"
    Else
        MsgBox "keine groesser 50"
    End If
End Sub

Diese Methode überprüft einfach, ob es Zellen im angegebenen Bereich gibt, die einen Wert größer 50 haben.


Praktische Beispiele

Hier sind einige praktische Beispiele, die Du in Deinem Excel-Dokument verwenden kannst:

  1. Find-Methode: Suche in einem spezifischen Bereich nach Werten größer 50.
  2. CountIf-Methode: Zähle die Anzahl der Zellen, die größer 50 sind und gebe eine entsprechende Meldung aus.

Beide Methoden sind nützlich, je nach den Anforderungen des Benutzers.


Tipps für Profis

  • Verwende Option Explicit am Anfang Deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert werden.
  • Teste Deinen Code regelmäßig, um sicherzustellen, dass er wie gewünscht funktioniert, insbesondere wenn Du mit großen Datenmengen arbeitest.
  • Nutze Debugging-Tools in der VBA-Umgebung, um Fehler leichter zu identifizieren.

FAQ: Häufige Fragen

1. Kann ich die Find-Methode auch mit anderen Vergleichsoperatoren verwenden?
Ja, Du kannst andere Operatoren wie <, >=, und <= verwenden. Achte darauf, dass Du die Bedingungen in Anführungszeichen setzt.

2. Was mache ich, wenn mein Makro nicht funktioniert?
Überprüfe die Syntax Deines Codes und stelle sicher, dass alle Variablen korrekt deklariert sind. Auch die Range sollte korrekt definiert sein.

3. Ist die CountIf-Methode schneller als die Find-Methode?
In vielen Fällen ist die CountIf-Methode schneller, insbesondere bei großen Datenmengen, da sie keine Schleifen benötigt.

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