Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit der Suchfunktion

Problem mit der Suchfunktion
01.06.2005 10:56:32
Roli
hallo Leute,
leider muss ich es wieder erneut versuchen, da bisher keine Lösung gefunden wurde. Ich bitte euch, wenn Möglich, mir Lösungen vorzuschlagen bzw. zu lösen. Dieser Script wurde teilweise von fl618 geschrieben.
https://www.herber.de/bbs/user/23467.xls
1) Das Problem an der mitgelieferten Datei (unter Einträge bearbeiten) liegt darin, dass sich die Farb- und Mengenwerte bei den gleichen Modellen nicht ändern. Es ändert sich nur, wenn ein neuer Artikel anfängt.
2) Das andere Problem ist die Suchfunktion. Werden unter Einträge bearbeiten (aber nur die gesuchten Ergebnisse) Datensätze mit Button Eintrag ändern ausgeführt, dann erfolgt die Änderung nur in Zeile 21 ...
Die Lösung mit j = e_lbxArtikel.ListIndex + 21 hat einfach nicht funktioniert. Bitte helft mir. Es muss doch einen Weg geben.
Danke im voraus.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit der Suchfunktion
02.06.2005 15:16:15
GerdZ
Hallo Roland,
wenn die Auswahl nicht über die Suche eingeschränkt ist, mußt Du mit ListIndex+21 arbeiten. Bei einer Einschränkung mußt Du die Suche entsprechend des Wertes von ListIndex mit der Findnext-Methode wiederholen.
z.B. drittes Element nach Einschränkung durch eine Suche ausgewählt:
ListIndex = 2
Ersten Datensatz mit find suchen und zweimal Findnext aufrufen.
Die Listbox-Change-Prozedur müßte dann wie folgt aussehen:
Private Sub e_lbxArtikel_Change()
Dim j As Integer, k As Integer, l As Integer, iSize As Integer
Dim cell As Range, ctrl As Control
Set Eingabeblatt = Worksheets(Eingabe)
If e_tbxSucher.Text = "" Then
j = e_lbxArtikel.ListIndex + 21
Else
Dim t As Range, x As Integer
Set t = Eingabeblatt.Range("A:A").Find(What:=e_lbxArtikel.Text, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True)
If t Is Nothing Then Exit Sub
If e_lbxArtikel.ListIndex > 0 Then
For x = 1 To e_lbxArtikel.ListIndex
Set t = Eingabeblatt.Range("A:A").FindNext(t)
Next x
End If
j = t.Row
Set t = Nothing
End If
Die gleiche Logik mußt Du dann noch in allen anderen Prozeduren einarbeiten, die mit den Datensätzen arbeiten.
Gruß
Gerd
Anzeige
AW: Problem mit der Suchfunktion
02.06.2005 19:42:23
Roli
hey Gerd,
das funktioniert ja super. Danke! Ich dachte schon, keiner würde mehr antworten.
Kann man eigentlich eine folgende Prüfung unter Einträge ändern einbauen? Ein bereits vorhandenes Aritkel zb Modell Bologna Farbe 41 ist vorhanden und ich suche mir über den Suchtext Bologna. Jetzt änder ich von Farbe 21 versehentlich auf 41 und dass, nachdem ich auf Eintrag ändern geklickt habe (oder auch sofort), die Änderung mit einer Messagebox verbietet, da bereits gleiches ARtikel mit gleicher Farbe vorhanden ist. Siehe Formular, wenn ich das so mache, ändert er immer in Zeile 21 die Einträge (Farbe oder Mengen) und das wäre ein fataler Fehler von dem niemand weiß.
lg Roli
Anzeige
AW: Problem mit der Suchfunktion
03.06.2005 13:54:49
GerdZ
Hallo Roland,
machbar ist diese Prüfung schon. Statt die Änderung nur abzuweisen, wäre auch eine Abfrage machbar, ob die aktuelle Menge zur bereits vorhandenen Menge der anderen Position addiert werden soll und die aktuelle Position dann gelöscht werden soll.
Gruß
Gerd
AW: Problem mit der Suchfunktion
03.06.2005 15:55:48
Roli
wie schreibst du diese Abfrage?
lg Roli
AW: Problem mit der Suchfunktion
03.06.2005 17:27:15
GerdZ
Hallo Roland,
z.B. so:
Sub Abfrage()
rc = MsgBox("Menge anderer Position hinzuaddieren und alte Pos. löschen (Nein bricht Änderung ab)", vbYesNo)
If rc = vbYes Then
MsgBox ("Menge wird zu anderer Pos. addiert.")
'Änderung durchführen und alte Pos. löschen
Else
MsgBox ("Änderung wird verworfen")
'Änderung abbrechen
End If
End Sub
Gruß
Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige