Google Ryhmät ei enää tue uusia Usenet-postauksia tai ‐tilauksia. Aiempi sisältö on edelleen nähtävissä.

cells.find runtime error

18 katselukertaa
Siirry ensimmäiseen lukemattomaan viestiin

Hubert Haller

lukematon,
8.9.2000 klo 10.19.288.9.2000
vastaanottaja

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.

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


Bernd Held

lukematon,
8.9.2000 klo 10.57.588.9.2000
vastaanottaja Hubert Haller
Hallo 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:

Rolf Califice

lukematon,
8.9.2000 klo 12.01.328.9.2000
vastaanottaja
Jemand hatte die Tage ein ähnliches Problem, Hugo.

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

Marco Amistadi

lukematon,
8.9.2000 klo 18.35.308.9.2000
vastaanottaja

Hallo Bernd,

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

Bernd Held

lukematon,
11.9.2000 klo 8.42.2511.9.2000
vastaanottaja Marco Amistadi
Hallo 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:

0 uutta viestiä