Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kriterien

Kriterien
02.11.2007 10:25:00
Christian
Hallo Leute,
mein Problem mit der Ausbucherei, wenn die vier Kriterien stimmen, klemmt immernoch. Vielleicht ist einer von Euch nochmal so nett und wirft einen Blick auf folgendes:
Ich versuche aus einer Tabelle Bogentresor die Zeile herauszukopieren und in eine Tabelle Archiv einzusetzen, bei der die in der UserForm1 eingegebenen vier Kriterien übereinstimmen.
Bei dem folgenden Code habe ich das Problem, dass es zwar in der ersten Zeile funktioniert, aber leider in allen weiteren nicht. Sobald die Zeile mit dem ersten Kriterim gefunden wurde, wird nicht mehr die ganze Tabelle durchsucht, sondern nurnoch nach den anderen drei Kriterien gesucht.
Ich kann mir das aber nicht erklären, da der Code "für mich" nachvollziehbar ist.
Eigentlich soll VBA die gesammte Tabelle durchsuchen !!
Gruß Christian
Application.ScreenUpdating = False
Set WkSh = Worksheets("Bogentresor")
StückeNummer1 = TextBox6.Value
KuponNummer_von = TextBox13.Value
Art_des_WP = ComboBox1.Value
Zugangs_Buchungsbelegnummer1 = TextBox7.Value
With WkSh.Columns(6) ' suchen in Spalte F
Set rZelle = .Find(StückeNummer1, LookIn:=xlValues, LookAt:=xlWhole)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
If WkSh.Range("G" & rZelle.Row).Value = KuponNummer_von And _
WkSh.Range("H" & rZelle.Row).Value = Art_des_WP Then
'WkSh.Range("J" & rZelle.Row).Value = Zugangs_Buchungsbelegnummer1 Then
rZelle.EntireRow.Cut
Else: MsgBox "Stück wurde nicht gefunden !", 48, " Hinweis für " & Application.UserName: GoTo Ende
End If
Loop While Not rZelle Is Nothing And rZelle.Address sFundst
Worksheets("Archiv").Cells(.Rows.Count, "C").End(xlUp).Offset(1, 0).EntireRow.Insert
Set rZelle = .FindNext(rZelle)
End If
End With
Application.ScreenUpdating = True

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

Betreff
Datum
Anwender
Anzeige
AW: Kriterien
02.11.2007 11:47:49
Chris
Servus,
was hat die Anweisung GoTo Ende zu bedeuten? Wird hier die Sub verlassen ?
Das Makro sucht ja nach dem Eintrag in Stückenummer1, wird dieser gefunden, werden die Bedingungen aus den anderen TextBoxen verglichen. Wenn hier aber keine Übereinstimmung vorhanden ist, kommt die MsgBox und er geht zu Ende.
Wenn bei Ende die Sub verlassen wird, dann kann man auch nichts mehr Weiteres finden.
Gruß
Chris

AW: Kriterien
02.11.2007 13:02:20
Christian
Grüß Dich Chris,
das Goto Ende habe ich eingebaut, um den sub zu verlassen wenn ein den Kriterien entsprechender Eintrag nicht gefunden wurde. Es beendet den Sub, so daß der User eine neue Eingabe machen muß, wenn keine Übereinstimmung gefunden wurde.
Gruß Christian

Anzeige
AW: Kriterien
02.11.2007 13:15:00
Chris
Servus Christian,
also wird der Hund da begraben sein.
Schau mal per Hand, ob der 2. Suchtreffer nicht alle vier Kriterien erfüllt, dann steigt dein Makro nämlich hier aus und kann die folgenden Werte, wenn vorhanden, nicht mehr finden und deswegen wird es dann wohl nur für den ersten Treffer gehen.
Gruß
Chris

AW: Kriterien
02.11.2007 13:33:37
Christian
Hallo Chris,
habe das Goto Ende herausgenommen und in der UserForm einen Datensatz eingegeben, der in der Liste Bogentresor vorhanden ist.
Es erscheint die MsgBox. Also hat er den Eintrag nicht gefunden - aber warum ?
plärrr- ich bin verzweifelt !
gruß Christian

Anzeige
AW: Kriterien
02.11.2007 14:33:00
Chris
Servus Christian,
ich kann dir das ohne Datei nicht sagen. Wie wäre es mit einem Post?
Gruß
Chris

AW: Kriterien
02.11.2007 15:28:49
Chris
Servus Christian,
kleiner Tipp meinerseits für die MsgBox:
nimm die Else-Anweisung raus und schreibe in der If -Anweisung folgendes nach ...Cut
BolSuche = True
und dann schreibst du ganz unten:
If BolSuche = False Then
MsgBox...
End if
und ganz oben:
Dim Bolsuche As Boolean
BolSuche = False
Vielleicht löst das dein Problem:
Gruß
Chris

AW: Kriterien
02.11.2007 15:36:34
Hajo_Zi
Hallo Chris,
mit Dimensionierung steht die Variable auf False.

Anzeige
AW: Kriterien
02.11.2007 16:45:00
Christian
Hallo Chris - ich nochmal !
Ich hatte die Tabelle schonmal hochgeladen
augrund der Größe aber gezipt .
https://www.herber.de/bbs/user/47271.zip
ich hoffe Du kommst da auch rein. Sonst - makros aktivieren und 1. pers Nr. 488554 Kennwort 554
Dann 2. Pers. 490378 und KW 378.
grüße Dich Christian

AW: Kriterien
02.11.2007 18:04:56
Chris
Servus Christian,
jetzt habe ich die Mappe, aber wo steht der Code-Abschnitt, um den es hier geht? Welche userForm ist das. Entweder ich bin blind, oder dieses makro existiert nicht.
Kleiner Tipp wäre nett.
Gruß
Chris

Anzeige
AW: @Hajo
02.11.2007 18:07:06
Chris
Servus Hajo,
weiß ich auch, aber in der Schnelle, kann sowas schon mal passieren.
Trotzdem Danke für den Hinweis.
Gruß
Chris

AW: @Hajo
02.11.2007 18:13:58
Hajo_Zi
Hallo Chris,
das war auch nur als Hinweis gedacht, das Forum ist ja dazu da sich auszutauschen.
Gruß Hajo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige