Zellen verlassen Ereignis und Find-Methode mit Text

Dieser Thread ist Teil einer Diskussion zu einem Artikel:  Zum News-Artikel gehen

Fritz50

Stammgast
Guten Abend.
Ich möchte bestimmen, welche Zelle ich eben verlassen habe. Eigentlich will ich nur wissen, welche Zelle ich verlassen haben, resp. den Wert darin. U.U ist es sogar immer die gleiche Zelle. Es gibt das Ereignis Worksheet_SelectionChange. Aber da ist die übergebene Target die neu selektierte Zelle. Und ich möchte, dass das Ereignis auch erkannt, wenn ich die gleiche Zelle ohne Wertänderung wieder verlasse. Und es soll für jede Art Zellenwechsel funktionieren. Wie würdet ihrdas lösen?

Die andere Sache ist die Find-Methode. In einer Spalte sind Zahlen als Text formatiert (weil ganzzahlige Werte und solche mt einer Kommastelle vorkommen und ich den Eindruck habe die Werte (als ID-Nrn gedacht) seien einfacher zu handeln. Wenn ich nun nach einem Wert z.B. 2 suche, der aber nicht vorhanden ist, dafür z.B. 25 wird dieses 2 gefunden. Das ist aber nicht beabsichtigt. Die Werte sind 1 bist 5-stellig.
Mit der Find-Methode will ich While oder For Schlaufen ersetzen.

Gruss
Fritz
 

nochEinAndreas

Stammgast
Guten Abend Fritz,

ich lade dir hier mal eine Beispielmappe zu beiden Themen hoch. Schau dir mal den Code an und probiere ihn aus. Hilft dir das weiter?

Grüße, Andreas

PS: Hat dir das "Me.Hide" aus deinem letzten Thread geholfen?
 

Anhänge

  • 'vorherige Zelle' und 'suchen'.zip
    19,7 KB · Aufrufe: 6

Fritz50

Stammgast
Hallo Andreas,
Hat mir sehr geholfen. Das im Angang und das Me.Hide.
Danke, etwas verpätet.
Manchmal verlieren Ranges ihren Wert (Nothing)? Wo müsste ich an ehesten nachschauen?
Kann das sein, wenn ich im Projet 'zurücksetzen' mache.
Wenn ich den Cursor auf eine Variable lege, sehe manchmal den Wert dieser Variable, aber manchmal auch nicht. Das muss etwas mit dem Zustand der Excel-Umgebung zu tun haben.

Gruss
Fritz
 

nochEinAndreas

Stammgast
Gute Abend Fritz,
Hat mir sehr geholfen. Das im Angang und das Me.Hide.
Freut mich.
Manchmal verlieren Ranges ihren Wert (Nothing)?
Was meinst du mit Ranges? Meinst du Variablen, die als Range dimensioniert wurden?
Wo müsste ich an ehesten nachschauen?
Wie meinst du das?
Kann das sein, wenn ich im Projet 'zurücksetzen' mache.
Ja, damit setzt du alles auf Anfang. Sämtliche Variableninhalte werden gelöscht, bzw. sie werden auf ihre Default-Werte gesetzt (numerische auf 0, Strings auf "", Objekte, also auch Ranges auf NOTHING).
Wenn du es genauer untersuchen willst, lass dir das Überwachungsfenster anzeigen, füge die fragliche Range-Variable zu den Überwachungen hinzu. Dann mach einen Rechtsklick darauf, und gehe auf "Überwachung bearbeiten". Es öffnet sich ein Fenster. Gib bei 'Ausdruck' die fragliche Variable ein, gefolgt von '=NOTHING'. Bei 'Art der Überwachung' klicke 'Unterbrechen, wenn der Wert true ist'.
Dann lass deinen Code laufen. Er wird dort angehalten, wo die Variable auf NOTHING gesetzt wird.
Wenn ich den Cursor auf eine Variable lege, sehe manchmal den Wert dieser Variable, aber manchmal auch nicht.
Das kann glaube ich mehrere Gründe haben. Am sichersten ist, du lässt dir die Variable als Überwachung anzeigen. Da bekommst du auch angezeigt, ob sie in der aktuell laufenden Routine gültig ist oder nicht.
Das muss etwas mit dem Zustand der Excel-Umgebung zu tun haben.
Wie meinst du das? Was nennst du Excel-Umgebung?

Gruß und schönen Abend,
Andreas
 
Oben