Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro läuft nicht sauber durch

Makro läuft nicht sauber durch
25.11.2004 08:29:56
Manni
Hallo Ihr Excel-Experten,
derzeit habe ich Probleme mit einer neu entworfenen Datei "Artikel-Suchmaschine". Jedesmal wenn ich den Anstoß zur Artikel-Suche gebe, bekomme ich eine Fehlermeldung. Da mir selber die Makrokenntnisse fehlen, konnte ich den Fehler noch nicht beheben. Bevor ich auch noch mehr Schaden anrichte, möchte ich lieber Gebrauch von dem Wissen eines Makro-Experten in Anspruch nehmen. Ich hoffe, dass mir jemand weiterhelfen kann. Anhang unter:

Die Datei https://www.herber.de/bbs/user/13904.xls wurde aus Datenschutzgründen gelöscht


Option Explicit
Sub zurückzustammdaten()
' Makro am 22.01.2004 von Manfred Fahl aufgezeichnet

Private Sub CommandButton1_Click()
Workbooks("Artikel-Suchmaschine.xls").Close
Windows("Hauptübersicht.xls").Activate
Sheets("Stammdaten").Select
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, lz As Long, i As Long, ze As Long
Dim Such As String, l As Long
Dim test
Dim artikel_nr
Range("B2").Activate
test = ActiveCell
If test = 1 Then
orte = 4            'bei Artikel schrift ab zeile 4
End If
If test = 6 Then
orte = 19        'bei Artikel-Nr schrift zeile 19
GoTo misteln
End If
If Target.Address <> "$A$4" Then Exit Sub
'löscht die zeilen Löschbereich ARTIKEL
Range("C4:K17").Select
Selection.ClearContents
Range("A4").Select
Such = UCase(Target.Value)
l = Len(Such)
If l = 0 Then Exit Sub 'Abbruch bei leerer Zelle
lz = Sheets("Artikel").Range("A65536").End(xlUp).Row
ze = artikel - nr   'artikel-nr = zeile 4 bei 1-und-19 bei 6
For i = 1 To lz                              'test
If UCase(Left(Sheets("Artikel").Cells(i, test).Value, l)) = Such Then
Cells(ze, 3) = Sheets("Artikel").Cells(i, 1).Value
Cells(ze, 4) = Sheets("Artikel").Cells(i, 2).Value
Cells(ze, 5) = Sheets("Artikel").Cells(i, 3).Value
Cells(ze, 6) = Sheets("Artikel").Cells(i, 6).Value
Cells(ze, 7) = Sheets("Artikel").Cells(i, 7).Value
Cells(ze, 8) = Sheets("Artikel").Cells(i, 8).Value
Cells(ze, 9) = Sheets("Artikel").Cells(i, 9).Value
Cells(ze, 10) = Sheets("Artikel").Cells(i, 10).Value
ze = ze + 1
End If
Next i
Range("A4").Select
misteln:         'Sprung von goto
'Ab hier wenn B2 = 6 Eingabe Suche nach ARTIKEL-Nr.
If Target.Address <> "$A$4" Then Exit Sub
'löscht die zeilen Löschbereich ARTIKEL-Nr.
Range("C19:K67").Select
Selection.ClearContents
Range("A4").Select
Such = UCase(Target.Value)
l = Len(Such)
If l = 0 Then Exit Sub 'Abbruch bei leerer Zelle
lz = Sheets("Artikel").Range("A65536").End(xlUp).Row
ze = orte     '= zeile 4 bei 1-und-19 bei 6
For i = 1 To lz                              'test
If UCase(Left(Sheets("Artikel").Cells(i, test).Value, l)) = Such Then
Cells(ze, 3) = Sheets("Artikel").Cells(i, 1).Value
Cells(ze, 4) = Sheets("Artikel").Cells(i, 2).Value
Cells(ze, 5) = Sheets("Artikel").Cells(i, 3).Value
Cells(ze, 6) = Sheets("Artikel").Cells(i, 6).Value
Cells(ze, 7) = Sheets("Artikel").Cells(i, 7).Value
Cells(ze, 8) = Sheets("Artikel").Cells(i, 8).Value
Cells(ze, 9) = Sheets("Artikel").Cells(i, 9).Value
Cells(ze, 10) = Sheets("Artikel").Cells(i, 10).Value
'Hier erweitern falls erforderlich
ze = ze + 1
End If
Next i
Range("A4").Select
End Sub

Gruß
Manni

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro läuft nicht sauber durch
P@ulchen
Hi Manni,
sehr unübersichtlich und nicht ganz verständlich, was Du eigentlich genau tun willst...
Ich habe mal ein paar Variablen deklariert. Wenn Du im Modul an erster Stelle Option Explicit schreibst, dann mußt Du auch alle Variablen deklarieren, sonst gibt es Fehlermeldungen...
Schau mal, ob Di das hier weiterhilft: https://www.herber.de/bbs/user/13905.xls
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Makro läuft nicht sauber durch
25.11.2004 10:22:38
Manni
Hi Paulchen,
ich danke Dir erstmal für Dein Interesse und möchte Dir natürlich die fehlende Erklärung dazu liefern. Bei Vorgabe der Ziffer 1 in B2 und anschl. Eingabe von mindestens 2 Ziffern in A4 sollten alle Artikel, die diese Ziffernreihenfolge beinhalten, angezeigt werden. Das gleiche wäre bei Vorgabe der 6 in B2, nur dass dann die infrage kommenden Artikel-Nr.`n angezeigt werden sollten. Was übrigens bei diesem sheet im Makro irgendwie hineingeändert werden müßte, wäre eine Sperre für die Zeile 18 (Spalten-Überschriften), die im Moment immer wieder durch eine mehr als 15-zeilige Ergebnisanzeige überschrieben wird. Bislang konnte leider noch niemand im Forum dieses Problem mit der Zeile 18 lösen.
Tut mir leid, dass ich die obige Erläuterung nicht gleich aufgeführt habe. Man neigt immer davon auszugehen, dass der andere auch sofort sieht was gemeint ist (obwohl es nicht immer möglich ist). Vielleicht gelingt es Dir ja das Makro-Problem zu lösen (mir fehlen bedauerlicherweise Makrokenntnisse).
Gruß
Manni aus dem Odenwald
Anzeige
AW: Makro läuft nicht sauber durch
P@ulchen
Hi Manni,
ich verstehe noch immer nicht ganz...
Du gibst in B2 eine "1" und die ersten 2 Buchstaben in A4 ein und erhälst alle Artikel, die mit diesen Buchstaben anfangen... ist an sich ja klar.
1.Frage: Was hat die Zeile 18 für eine Funktion ?
2.Frage: Was soll passieren, wenn mehr als 14 Artikel gefunden werden ? Dann rutscht Du doch automatisch über diese Zeile...
Oder willst Du eine Suchmaske, die eine Suche sowohl über Bezeichnung als auch über Nummer des Artikels ermöglicht ?
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Makro läuft nicht sauber durch
25.11.2004 17:41:25
Manni
Hallo Paulchen,
eben sehe ich, dass Du ja wieder aktiv warst, daher auch schnell die Antwort zu Deinen Fragen.
zu 1) die Zeile 18 beinhaltet Spaltenüberschriften für die Suche mit der 6 (in B2)
zu 2) wenn mehr als 14 Artikel gefunden werden, soll über die Zeile 18 übersprungen werden (ohne dass die Überschriften verloren gehen) und alle weiteren Ergebnisse dann ab Zeile 19 sichtbar gemacht werden. Unter der ersten Spaltenüberschriftenzeile sollen im Normalfall alle Ergebnisse aus Suchziffer 1, unter der zweiten Spaltenüberschriftenzeile sollen alle Ergebnisse aus Suchziffer 6 (in diesem Falle Artikel-Nr.) erscheinen.
Gruß
Manni aus dem Odenwald
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige