Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1812to1816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suche größer gleich, mehrere Ergebnisse

Suche größer gleich, mehrere Ergebnisse
12.02.2021 11:48:35
ben
Hallo VBA-Experten,
ich bin gerade dabei eine Tabelle via VBA auszuwerten. Nun stehe ich vor einem Problem. Ich muss dazu sagen, dass ich in Sachen VBA noch recht am Anfang stehe.
Ich möchte, dass die Spalte C bis zum letzten Eintrag nach den Werten 500 oder größer durchsucht wird. Wird ein Wert gefunden, soll der Eintrag von Spalte A in Zelle D1 ausgegeben werden. D.h. ich hätte gern in D1 alle Einträge von Spalte A wenn in der gleichen Zeile in Spalte C der Wert größer gleich 500 gefunden wurde.
Mit der Find.Methode schaffe ich es bisher mir die Werte von Spalte A dann ausgeben zu lassen, wenn der Such-Wert genau 500 ist.
Hier der Code:
Dim wks As Worksheet
Dim Bereich As Range, sZ As Range
Dim FirstAddress As String, Ergebnis As String
Set wks = Sheets("Tabelle1")
With wks
Set Bereich = .Range(.Range("C1"), .Cells(.Rows.Count, 1).End(xlUp))
End With
Set sZ = Bereich.Find(500, LookIn:=xlValues)
If Not sZ Is Nothing Then
FirstAddress = sZ.Address
Do
If Ergebnis = "" Then
Ergebnis = sZ.Offset(0, -2)
Else
Ergebnis = Ergebnis & "; " & sZ.Offset(0, -2)
End If
Set sZ = Bereich.FindNext(sZ)
Loop While Not sZ Is Nothing And sZ.Address FirstAddress
End If
wks.Range("D1") = Ergebnis
Vielen Dank für die Hilfe!
Vg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche größer gleich, mehrere Ergebnisse
12.02.2021 11:54:20
Nepumuk
Hallo ben,
benutze den Autofilter, damit kannst du nach größer-gleich 500 Filtern und die Ergebnisse auslesen.
Gruß
Nepumuk
AW: Suche größer gleich, mehrere Ergebnisse
12.02.2021 12:00:23
Daniel
Hi
lauf mit einer Schleife einfach direkt über die Werte:
...
For each sZ in Bereich
if sZ.Value >= 500 then Ergebnis = Ergebnis & "; " & sZ.Offset(0, -2).value
Next
...
Gruß Daniel
AW: Suche größer gleich, mehrere Ergebnisse
12.02.2021 12:40:48
Piet
Hallo
ich sehe das von Dabiel bereits eine korrekte Lösung vorliegt. Lade zum lernen meinen Code hoch!
Mir fiel auf das die Set Bereich Codeteil NICHT stimmt. Bitte mit der MsgBox selbst prüfen.
Zwei korrekte VBA Schreibweisen für Bereich habe ich zum lernen in meinem Code angegeben.
mfg Piet
Sub auflisten()
Dim wks As Worksheet
Dim Bereich As Range, sZ As Range
Dim Ergebnis As String, n As Long
Set wks = Sheets("Tabelle1")
With wks
'Set Bereich = .Range(.Range("C1"), .Cells(.Rows.Count, 1).End(xlUp))    '= A1:Cxxx  A-C wird  _
durchsucht!
'Set Bereich = .Range(.Range("C1"), .Cells(.Rows.Count, 3).End(xlUp))    'korrekt ist Cells mit  _
(xxx, 3) = Spalte C
Set Bereich = .Range("C1:C" & .Cells(Rows.Count, 3).End(xlUp).Row)      'korrekter Range über  _
Row in Spalte C
MsgBox Bereich.Address  '** nur zur Bereich Demo, danach bitte lmschen!!
End With
Application.ScreenUpdating = False
For Each sZ In Bereich
If IsNumeric(sZ) And sZ >= 500 Then
Ergebnis = Ergebnis & "; " & sZ.Offset(0, -2)
n = n + 1   'Anzahl der Treffer
End If
Next sZ
Ergebnis = Trim(Mid(Ergebnis, 2))
MsgBox n & "  Ergebnisse:" & vbLf & Ergebnis
End Sub

Anzeige
AW: Suche größer gleich, mehrere Ergebnisse
12.02.2021 13:21:05
ben
Hallo Daniel & Piet,
Danke es klappt.
@Piet vielen Danke für deinen Hinweis und Code.
Vg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige