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

Forumthread: Suchen in Spalte

Suchen in Spalte
Andre´
Hallo alle zusammen,
ich benutze folgendes Makro, um bei Übereinstimmung des aktuellen Tag/ Monat mir den Zellwert
aus der Spalte A anzuzeigen. Sub suchen() Dim c, FirstAddress Dim W W = Format(Now, "DD.MM") With Worksheets("Geburtstage").Range("C:C") Set c = .Find(W) If Not c Is Nothing Then FirstAddress = c.Address Do If Left(c.Value, 5) = W Then MsgBox c.Offset(0, -2) & (" hat heute Geburtstag") End If Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address FirstAddress End If End With Set c = Nothing End Sub Geburtstage

 ABC
1Namegeboren im Jahr amHilfsspalte
2Max03.06.196603.06
3Peter13.06.196413.06
4Werner05.07.195705.07
5Reiner18.07.194818.07
6Bernd10.12.195510.12


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
In dem Bsp. müsste Bernd angezeigt werden.
Gibt es eine Möglichkeit, das ohne die Hilfsspalte zu realisieren, sodass
gleich in der Spalte B gesucht wird.
Vielen Dank im Voraus
MFG Andre
Anzeige

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

Betreff
Benutzer
Anzeige
versuch es mal so.. Gruß
10.12.2010 19:53:42
zu

Sub suchen()
Dim c, FirstAddress
Dim W
W = Date
With Sheets(1).Range("B:B")
Set c = .Find(W)
If Not c Is Nothing Then
FirstAddress = c.Address
Do
If c.Value = W Then
MsgBox c.Offset(0, -1) & (" hat heute Geburtstag")
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  FirstAddress
End If
End With
Set c = Nothing
End Sub

Anzeige
AW: versuch es mal so.. Gruß
10.12.2010 20:48:05
Andre´
Hallo,
funktioniert nicht, durch Date wird nach dem 10.12.2010 gesucht.
Es muss aber nur nach dem Tag und Monat in der Spalte B gesucht werden.
Mit
W = Left(Date, 5)
funktioniert es auch nicht.
MFG Andre
warum ist das Jahr störend?
11.12.2010 08:58:15
zu
AW: Suchen in Spalte
10.12.2010 20:50:19
Christian
Hallo André
bei Datum ist das nicht ganz einfach, da ein Excel-Datum eine Zahl ist (Tage seit 1.1.1900).
Als Ansatz ohne Find:
Option Explicit
Sub Suchen()
Dim lngLR As Long
Dim rng As Range
With ThisWorkbook.Sheets("Geburtstage")
lngLR = .Cells(.Rows.Count, 2).End(xlUp).Row
For Each rng In .Cells(2, 2).Resize(lngLR - 1)
If IsDate(rng.Value) Then
If Month(rng.Value) = Month(Date) _
And Day(rng.Value) = Day(Date) Then
MsgBox rng.Offset(0, -1).Text
End If
End If
Next
End With
End Sub

Gruß
Christian
Anzeige
get auch mit Find...
10.12.2010 21:02:01
Christian
man muss das Format richtig setzen.
Gruß
Christian
Option Explicit
Sub Suchen2()
Dim c As Range, FirstAddress$, W$
W = Format(Now, "MM\/DD")
With Worksheets("Geburtstage").Range("B:B")
Set c = .Find(W, LookIn:=xlValues, lookAt:=xlPart)
If Not c Is Nothing Then
FirstAddress = c.Address
Do
MsgBox c.Offset(0, -1).Text
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  FirstAddress
End If
End With
Set c = Nothing
End Sub

Anzeige
AW: get auch mit Find...
10.12.2010 21:26:04
Andre´
Hallo Christian,
vielen Dank für beide Lösungen, funktioniert prima :-)
Ich werde es über find realisieren.
MFG Andre
;

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

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