Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Weitersuchen per VBA

190 views
Skip to first unread message

Arno Lesmeister

unread,
Mar 14, 2003, 7:34:05 AM3/14/03
to
Hallo NG,

wie kann ich meinen Code so optimieren das wenn zwei
gleich Datumsangaben in einer Spalte stehen die Zellen
angezeigt werden wo diese Datumsangaben enthalten sind.

Wenn ich die Suche - Funktion von Excel benutze habe ich
auch so eine Funktion der weitersuche.

Dank im voraus Arno


Sub SuchDatum()
'Fehlerbehandlung
On Error Resume Next
'Deklaration von Datum und Spalten
Dim rng As Range
Dim Datum1 As Date
Datum1 = InputBox("Geben Sie ein Datum ein")
'Datumsvergleich mit der InputBox und dem Zelleninhalt
Dim var As Variant
var = Application.Match(CDbl(Datum1), Columns(5), 0)
'Ausgabe in eine MSGBox
If IsError(var) Then
Beep
MsgBox prompt:="Datum wurde nicht gefunden!"
Else
MsgBox prompt:="Ablaufdatum erreicht."
End If

If IsError(var) Then
Beep
Else

' Anzeige der Fundzeile der Datumsanzeige
MsgBox prompt:="Spalte E, Fundzeile: " & var

End If


End Sub

Michael Noisternig

unread,
Mar 14, 2003, 10:01:02 AM3/14/03
to
Hallo Arno,
vielleicht dies?

Selection.AutoFilter Field:=5, Criteria1:=">=" & CDbl(Datum1)

Gruß, Michael

"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:018101c2ea26$0062d890$3401...@phx.gbl...

Michael Noisternig

unread,
Mar 14, 2003, 10:55:55 AM3/14/03
to
Besser so?

Sub SuchDatum_2()
'Datum2 NICHT als Date deklarieren!
Dim Datum2
Datum2 = InputBox("Geben Sie ein Datum ein")
Selection.AutoFilter Field:=5, Criteria1:=Datum2
End Sub

Gruß, Michael

"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:018101c2ea26$0062d890$3401...@phx.gbl...

t-online.de

unread,
Mar 14, 2003, 12:17:16 PM3/14/03
to
Hallo Michael,

danke für Deine Hilfe ich probiere es am Wochenende aus, und geb dir nächste
Woche bescheid.

Danke nochmals und ein schönes Wochenende.

Arno


"Michael Noisternig" <csab...@uibk.ac.at> schrieb im Newsbeitrag
news:#9KT0Ik6...@TK2MSFTNGP12.phx.gbl...

Arno Lesmeister

unread,
Mar 14, 2003, 12:43:07 PM3/14/03
to
Hallo Michael,


habe etwas mit rumgespielt wenn ich mein var durch Datum2 ersetze bekomme
ich nur das Datum angezeigt das helft mir leider nicht ich bräuchte schon
die Zelle.
Und wie bekomme ich die beiden Datumsanzeigen in die MSGBox angezeigt mit
Deinem Beispiel irgendwie bekomme ich das nicht hin.

Gruß

Arno

"t-online.de" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:b4t2r1$j65$02$1...@news.t-online.com...

Michael Noisternig

unread,
Mar 14, 2003, 2:04:48 PM3/14/03
to
Array? var%
oder
Kannst Du auch mit der Zelladresse etwas anfangen?
Hyperlink?
Viel Spaß!

Schönes Wochenende


Michael
"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:018101c2ea26$0062d890$3401...@phx.gbl...

Thomas Joppert

unread,
Mar 15, 2003, 3:22:54 AM3/15/03
to

"Michael Noisternig" <csab...@uibk.ac.at> schrieb im Newsbeitrag
news:eg$YXyl6C...@TK2MSFTNGP09.phx.gbl...

Also ich habe das Problem folgendermaßen gelöst. Ich zeichnete ein Makro
auf, öffnete die Suche und suchte mein Element, drückte auch weiersuchen bis
ich alle durch hatte. Beendete meine Aufzeichnung und schaute sie mir in VBA
an. Danach paßte ich den entstandenen Quellcode in meinem Programm an.

mit activatecell.row bzw. .column bekomm man die Adresse der gefundenen
Zellen heraus.

cya


Arno Lesmeister

unread,
Mar 15, 2003, 4:21:45 PM3/15/03
to
Hi Michael,

mit Zelladresse und Hyperlinks kann ich schon etwas anfangen. Auch die
Methode von Thomas weis ich es sollte aber per msgbox abgefangen werden.

Wie gibt es eigentlich sowas wie find.first und find.next in Excel ?

Gruß Arno


Thomas Joppert

unread,
Mar 16, 2003, 3:47:22 AM3/16/03
to

"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:b505hd$fd2$01$1...@news.t-online.com...

Soweit ich weiß, müßte es ein test.cells.find.next geben. dabei sollte
dim t as workbook
dim test as worksheet

set t= workboks.open ("Pfad")
set test =t.worksheet ("Name")

vereinbart werden


Michael Noisternig

unread,
Mar 17, 2003, 5:48:51 AM3/17/03
to
Hallo Arno,
Wie wäre es mit einer Schleife?


Sub SuchDatum_modifiziert()
Dim Datum1, ActCell As Date
Dim x, FirstRow, LastRow As Variant
Datum1 = InputBox("Geben Sie ein Datum ein.")
'die erste Reihe ist...
FirstRow = 4
Cells(FirstRow, 5).Select
Selection.End(xlDown).Activate
LastRow = ActiveCell.Row
For x = FirstRow To LastRow
Cells(x, 5).Activate
ActCell = Cells(x, 5).Value
If ActCell = Datum1 Then MsgBox ("Spalte B, Fundzeile: " & x)
If x = LastRow Then
Cells(1, 1).Select
Beep
MsgBox ("Keine Übereinstimmung mehr.")
End
End If
Next
Cells(1, 1).Select
End Sub


Gruß, Michael


"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag

news:018101c2ea26$0062d890$3401...@phx.gbl...

Michael Noisternig

unread,
Mar 17, 2003, 11:47:04 AM3/17/03
to
Nur ein einziges Meldungsfenster?


Sub SuchDatum_OneBox()


Dim Datum1, ActCell As Date

Dim x, s As Variant
Dim Text As String
Dim FirstRow, LastRow As Long
Datum1 = InputBox("Geben Sie ein Datum ein.")
Text = "Spalte B, Fundzeile: "


'die erste Reihe ist...
FirstRow = 4

' Zeilennumer der letzten nicht_leeren Zelle in Spalte A
LastRow = Cells(Rows.Count, 1).End(xlUp).Row


For x = FirstRow To LastRow

Cells(x, 2).Activate
ActCell = Cells(x, 2).Value
If ActCell = Datum1 Then s = s & Text & x & vbCrLf


If x = LastRow Then
Cells(1, 1).Select

MsgBox s
End
End If
Next
End Sub

"Arno Lesmeister" <arno.le...@t-online.de> schrieb im Newsbeitrag
news:018101c2ea26$0062d890$3401...@phx.gbl...

Arno Lesmeister

unread,
Mar 17, 2003, 3:52:12 PM3/17/03
to
Hi Michael,

das is es danke dir für Deine Hilfe.

Gruß Arno


0 new messages