Hier die funktion:
suchwort = InputBox("bitte Suchbegriff eingeben")
x = Cells.Find(What:=suchwort, After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False)
wer hat einen Tip wie ich diese oder eine andere Funktion benutzen kann,
die mir die erste Zeilennummer eines Tabellenblattes zurückliefert wo der
Suchbegriff drin vorkommt ohne einen Runtime error auszuloesen wenn
der suchbegriff nicht vorkommt
Danke für Eure Antworten
Gruss
Hubert
wie wär's denn damit?
Sub BegriffSuchen()
Dim gZelle As Range
Dim Msg1$, Msg2$, Msg3$, sBegriff$
Msg1 = "Bitte Suchbegriff eingeben:"
Msg2 = "Suchbegriff wurde nicht gefunden!"
Msg3 = "Suchbegriff befindet sich in Zelle "
sBegriff = InputBox(Msg1)
If sBegriff = "" Then Exit Sub
Set gZelle = Worksheets(1).Columns(1) _
.Find(sBegriff, lookat:=xlWhole)
If gZelle Is Nothing Then
MsgBox Msg2
Else
MsgBox Msg3 & gZelle.Address(False, False)
End If
End Sub
Viele Grüße
Bernd
//////////////////////////////////////
// Die MacHero EXCEL/WORKS Homepage
// Microsoft Excel MVP
// http://members.aol.com/Machero (neu designed!)
//
// Mein neues Excel-VBA-Programmierung-Kompendium (Excel97/2000)
//
http://www.amazon.de/exec/obidos/ASIN/3827258154/qid%3D962263787/sr%3D1-7/028-1377235-0531764
Hubert Haller schrieb:
Vielleicht regt nachfolgendes (stammt nicht von mir!) die grauen
Zellen an ;-)
*----------------------------------------
Sub ArtikelnummerSuchen()
Dim FC As Range
Dim lNummer
Dim i%
Dim ErsteAdresse$
Dim Schalter As Boolean
lNummer = InputBox("Bitte Atikelnummer eingeben:")
If lNummer = "" Then
Exit Sub
End If
For X = 1 To Range("A65536").End(xlUp).Row
Set FC = Worksheet("Tabelle1").Cells.Find(lNummer)
If FC Is Nothing = False Then
ErsteAdresse = FC.Address
Do
Set FC = Worksheets(i).Cells.FindNext(FC)
MsgBox "Gefunden in Blatt " & FC.Parent.Name _
& " - Zelle " & FC.Address(False, False)
Loop While Not FC Is Nothing And FC.Address <>
ErsteAdresse
Schalter = True
End If
Next i
If Schalter = False Then
Beep
MsgBox "Artikelnummer nicht gefunden!"
End
End If
End Sub
*-------------------------
well, author "Hubert Haller" <hubert...@ist.instron.com>,
think on Fri, 8 Sep 2000 16:19:28 +0200 e.g.:
>
>Die find methode liefert mir einen runtime error wenn der begriff in der
>Tabelle
>nicht gefunden wird. mit on error kann ich dies zwar abfangen, scheint mir
>aber nicht die eleganteste methode zu sein.
>[.........]
Gruß,
Rolf Ca.
--
3-4 <=> X
http://www.auvista.com/sc100.htm ' das besondere Schmankerl
http://www.excel-center.de/excel/links.htm
http://www.vba-magazin.de/tippsexcel.htm
http://www.add-in-world.com/katalog/#excel ein Blick lohnt immer!
http://www.microsoft.com/germany/office/anwenderforum/tipps/excel/archiv.htm
http://www.ti5.tu-harburg.de/manual/vba5/httoc.htm
Bernd Held schrieb:
> Sub BegriffSuchen()
> Dim gZelle As Range
> Dim Msg1$, Msg2$, Msg3$, sBegriff$
> Msg1 = "Bitte Suchbegriff eingeben:"
> Msg2 = "Suchbegriff wurde nicht gefunden!"
> Msg3 = "Suchbegriff befindet sich in Zelle "
>
> sBegriff = InputBox(Msg1)
> If sBegriff = "" Then Exit Sub
> Set gZelle = Worksheets(1).Columns(1) _
> .Find(sBegriff, lookat:=xlWhole)
>
> If gZelle Is Nothing Then
> MsgBox Msg2
> Else
> MsgBox Msg3 & gZelle.Address(False, False)
> End If
> End Sub
wenn nur in Spalte A gesucht werden soll, gehts auch so:
Sub BegriffSuchen()
'zusätzlich dimensionieren
Dim JN as Variant
JN = Application.Match(sBegriff, Worksheets(1).Columns(1),0)
If vartype(JN) = VbError then MsgBox msg2: exit sub
msgbox msg3 & val(JN)
End Sub
Aber das wusstest Du vielleicht schon :). Für die
anderen ist es vielleicht interessant.
MfG
Marco
gute Erweiterung, Danke!
Viele Grüße
Bernd
//////////////////////////////////////
// Die MacHero EXCEL/WORKS Homepage
// Microsoft Excel MVP
// http://members.aol.com/Machero (neu designed!)
//
// Mein neues Excel-VBA-Programmierung-Kompendium (Excel97/2000)
//
http://www.amazon.de/exec/obidos/ASIN/3827258154/qid%3D962263787/sr%3D1-7/028-1377235-0531764
Marco Amistadi schrieb: