Anzeige
Archiv - Navigation
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nochmals: Find auf die beste Arte

Nochmals: Find auf die beste Arte
16.11.2006 21:12:17
Martin
Hallo,
bitte um Nachsicht:
Nochmal "Find" - irgendwie macht mich das fertig, besonders das Error handling.
Eine eigentlich ganz einfache Aufgabe:
Ich habe in einem Blatt A Personalnummer, die ich Stück für Stück abarbeite.Möchte in einem zweiten Blatt B mit mehreren tausenden Personalnummer die Zeile finden, wo das Pendant aus A steht (wenn es überhaupt in B ist).
- Personalnummer in Tabelle A
- Zeile der Personalnummer in Tabelle B.
In Tabelle B kann keine Personalnummer zweimal sein; es kann aber sein, daß die aus A nicht in B gefunden wird.
Wie macht man das am besten?
Besonders, wie fange ich am besten den Fall, daß die Nummer aus A in B nicht gefunden wird?
Jeder Tipp hilft, vielen Dank im Vorraus!
Martin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nochmals: Find auf die beste Arte
16.11.2006 21:23:06
{Boris}
Hi Martin,
irgendwie macht mich das fertig, besonders das Error handling.
Schön wäre es gewesen, wenn Du Deinen nicht funktionieren Versuch mal gepostet hättest. So kann ich nur mutmaßen:
Du lässt auf das Ergebnis der Find-Methode direkt eine andere Methode los - z.B. Activate oder Select. Das funktioniert aber nur dann, wenn die Find-Methode auch einen Treffer liefert und somit ein aktivier- oder selektierbares Range-Objekt zurückgibt. Andernfalls gibt´s Mecker und der Code schmiert ab.
Abhilfe:
Erst prüfen, ob das Ergebnis der Find-Methode "Nicht nichts" ist:
If Not Bereich.Find(Irgendwas) Is Nothing Then
Mach was
Else
Msgbox "Nix gefunden"
End If

Grüße Boris
Anzeige
AW: Nochmals: Find auf die beste Arte
16.11.2006 21:37:49
Martin
Hi,
Super, habe nur als Newbie Umsetzungsprobleme: Wie kann ich den "Bereich" bestimmen (wäre einfach Spalte A in eienm Worksheet? und wie kann ich die Zelle auslesen? (Unter "Mach was", sollte einfach nur die Zeile in eine Variable zurückgeben. Unter MSgBox dann einfach 0 zurückgeben
Besten und vielen Dank,
Martin
AW: Nochmals: Find auf die beste Arte
16.11.2006 21:51:36
{Boris}
Hi Martin,
Option Explicit

Sub Finde()
Dim C As Range, lngRow As Long
Set C = Range("A:A").Find("x", lookat:=xlWhole)
If Not C Is Nothing Then
lngRow = C.Row
MsgBox "Gefunden in Zeile " & lngRow 'Diese Zeile kannst du später löschen
Else
MsgBox "Null"
End If
End Sub

Grüße Boris
Anzeige
AW: Nochmals: Find auf die beste Art
16.11.2006 22:00:18
Martin
Hallo Boris,
VIELEN Dank, läuft im "Trockentest" 10 x schneller als meine dummen Loops!
Werde es jetzt mal in das Gesamtmacro einbauen.
Du hast mir sehr geholfen!
gruss,
Martin
Nur interessealber
16.11.2006 22:06:52
{Boris}
Hi Martin,
läuft im "Trockentest" 10 x schneller als meine dummen Loops!
Hast Du eine VBA-Lektüre? Wenn ja: Welche?
Grüße Boris
Dir fehlt ein H, evtl auch ein BH *grien* o.w.T.
16.11.2006 22:15:39
Reinhard


;-))
16.11.2006 22:36:11
{Boris}
Hi Reinhard,
ich hab eingesehen, dass ich damals (mit meinen Formulierungen) etwas übers Ziel hinausgeschossen bin. Aber das ändert nichts daran, dass ich es sachlich auch weiterhin kritisieren werde.
Wenn ich formuliere
=BEREICH.VERSCHIEBEN(A1;ZEILEN(1:5)-LÄNGE("abcde");SPALTEN(A:C)-KÜRZEN(PI());1;1)
dann lass ich es mir auch gefallen, wenn jemand zu mir sagt:
Das geht auch einfacher:
=A1
Bitte jetzt keine Diskussion lostreten - das war bis hierhin ein GAG!!!
;-))
Grüße Boris
Anzeige
AW: ;-))
16.11.2006 22:58:02
Anwalt
Guten Abend,
das Maß ist voll, jetzt rollen Köpfe! Sie werden in den nächsten Tagen den
Schriftsatz erhalten. Mein Mandant hat mich beauftragt, alle rechtliche
Mittel auszuschöpfen.
Mit freundlichen Grüßen
Anwalt
AW: ;-))
16.11.2006 23:01:26
{Boris}
Hi,
...ist ein GAG heutzutage schon strafbar? ;-))
Ich plädiere für Freispruch!
Wie war das mit "Bitte keine Diskussion lostreten" ...?!? Ein untrügliches Anzeichen dafür, dass die Herber-Besucher absolut treue Besucher sind! :-))
Grüße Boris
AW: ;-))
16.11.2006 23:43:02
Anwalt
Guten Abend,
das hätten Sie sich besser vorher überlegen sollen. Frei nach dem Motto,
"Du bist ein Idiot, aber das ist nicht persönlich gemeint.".
Ihr zuständiges Amtsgericht wird Sie zwecks Einlassung kontaktieren.
Mir freundlichen Grüßen
Anwalt
Anzeige
Ich schick wohl mal ne Mail..
16.11.2006 23:52:36
{Boris}
Hi Anwalt,
...nach Yahoo. Da sind wir dann unter uns und können vielleicht einen Deal aushandeln ;-)
Grüße Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige