Microsoft Excel

Herbers Excel/VBA-Archiv

Suchen

Betrifft: Suchen von: Matthias
Geschrieben am: 13.08.2004 09:35:26

Hi Leute,
ich möchte meine Exceltabelle nach bestimmten Werten durchsuchen und benutze dafür in VBA den Befehl

Cells.Find("Beispiel").Activate

um darüber an die zeilennr heranzukommen, in der der Wert steht.
Das funktioniert so auch ganz gut, nur sollte der Wert jedoch mal nicht vorkommen, stoße ich auf eine Fehlermeldung.
Frage: wie kann ich diese Fehlermeldung umgehen, bzw. so programmieren, dass wenn der Wert nicht gefunden, mir z. B. in eine Variable lnRow der Wert 0 zurückgegeben wird???

Danke für Eure Hilfe!

  


Betrifft: AW: Suchen von: Marcl
Geschrieben am: 13.08.2004 09:40:57

Hallo Matthias,

Sub... ()
...
On Error Go To errorhandler
Cells.Find("Beispiel").Activate
...
Exit Sub
errorhandler:
Range("Beispiel")="0"
End Sub

Gruß
Marcl


  


Betrifft: AW: Suchen von: sergiesam
Geschrieben am: 13.08.2004 09:41:30

Hi
versuchs damit
Function Zeile(suchbegriff) As Long
  Dim c As Range
  Set c = Cells.Find(suchbegriff)
  If c Is Nothing Then
    Zeile = 0
  Else
    Zeile = c.Row
  End If
End Function


Sub testeFunktion()
  Debug.Print Zeile("suche")
End Sub



Erklärung:
du aktivierst die zelle nicht sofort, sondern bestimmst eine Variable damit. Mit der überprüfung, ob die variable IS NOTHING, kannst du bestimmen, ob ein Wert gefunden wurde. Denn wenn nicht, ist die Variable immer noch unbestimmt. wenn was gefunden wurde, wird die Variable als gefundene Zelle geführt.

Gruß,
Sam


  


Betrifft: AW: Suchen von: Matthias
Geschrieben am: 13.08.2004 11:01:02

Vielen DANK!!!!!!!!


  


Betrifft: AW: Suchen von: Ulf
Geschrieben am: 13.08.2004 09:42:15

Option Explicit
Sub suchen()
Dim c As Range, r As Long
Set c = Cells.Find("Beispiel")
If Not c Is Nothing Then
  r = c.Row
Else
  r = 0
End If
End Sub


Ulf


  


Betrifft: AW: Suchen von: Matthias
Geschrieben am: 13.08.2004 11:01:43

Vielen DANK!!!!!!!!


 

Beiträge aus den Excel-Beispielen zum Thema "Suchen"