Suche bricht ab - Fehlermeldung

maeder1

Grünschnabel
Hallo

ich als kleiner Anfänger habe ein kleines Problem bei einem VBA-Script in Excell.
Grundsätzlich suche ich in einer Spalte eine Zelle mit dem Wert aus der Variabeln at.
Falls die Suche erfolglos ist, müsste eine Zelle A4 aktiviert werden.
Folgender Script habe ich bereits im VBA:

Columns("A:A").Select
Cells.Find(at).Select


wenn nun die Suche erfolglos ist, ist mit diesem Script logisch, dass eine Debug-Meldung erscheint, wenn der Wert nich auffindbar ist.
Wie kann ich nun vorgehen, damit diese Meldung nicht auftaucht und die Zelle A4 dafür aktiviert wird?

Vielen Dank für alle Anregungen.
Gruss maeder1:confused:
 
Hallo,
so könntest du die Fehlermeldung(en) umgehen.

Visual Basic:
Sub Suche()
On Error Goto Handle
'deine Befehle
Columns("A:A").Select 
Cells.Find(at).Select

Handle:
Range("A4").Select
End Sub

Gruß.
 
Hallo,

hier ein Vorschlag, wie Du ohne Fehlermeldung auskommst:

Visual Basic:
Dim myCell As Object

Columns("A:A").Select

Set myCell = Cells.Find(at)

If myCell Is Nothing Then
    Cells(4, 1).Select
Else
    myCell.Select
End If

Gruß
 
Hallo Ein_Freund

vielen Dank für deine Lösung.
Aber da besteht noch ein Problem. Obwohl die Viariable at den Wert 30 besitzt und dieser Wert mit cells.find(at) in der Tabelle nicht gefunden werden kann, überspringt mir vba die If-Schleife.
Mein Code, so wie der jetzt in VBA ist:
Visual Basic:
Workbooks(stunden).Activate


Columns("A:A").Select

Set myCell = Cells.Find(at)
    If myCell Is Nothing Then
        Range("A4").Activate
        ueberlauf = 0
        Do
            ActiveCell.Offset(1, 0).Activate
            ueberlauf = ueberlauf + 1
        Loop Until ActiveCell.Value = "" Or ueberlauf = 200
     End If

Die Variable definier ich ganz am Anfang des gesammten Scripts, man sieht diese hier nicht.

Ist da was falsch dran?

Danke und gruss
 
Hallo Illuzione

auch Dir vielen Dank für Deine Lösung.
Die Fehlermeldung wäre damit weg, das stimmt, aber wenn ich keine Fehlermeldung bekomme, dürften die unter Handle: aufgeführten Befehle nicht ausgeführt werden. Kann ich das umgehen?

Gruss maeder1
 
Hallo nochmals

also, hab noch ein bisschen weitergetüftelt.
Das Problem liegt wohl in der Formatierung der Zelle. Wenn ich in dieser Zelle mit den Tasten 30 eintippe erscheint 00-0003-0. Dies müsste so sein. Wenn ich den Wert in die Variable übernehme, so wird der Wert mit 30 Besetzt (wie eingetippt). Wenn ich nun aber in derselben Tabelle nach dem Wert 30 suche, so wird dieser NICHT gefunden, allerdings wird der Wert 00-0003-0 gefunden. Wie kann ich dieses Problem umgehen?

Danke maeder1
 

Neue Beiträge

Zurück