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

Laufzeitfehler 91 die hundertste

Laufzeitfehler 91 die hundertste
07.09.2007 11:16:00
lueckii
Hallo zusammen!
Eigentlich bin ich nicht mehr bluiger Anfänger in VBA, hab allerdings schon über ein halbes Jahr nichts mehr gemacht.
Darum hier eine Frage, die zwar schon 100mal gestellt wurde, die Lösungen des Problems mir aber nicht wirklich weiterhelfen.
Das Problem ist p. Beim 2ten Durchlauf der For..Next Schleife, kommt die Fehlermeldung LZF 91;
Hab ich vielleicht die variablen falsch dimensioniert?
Hatte solche Probs früher auch, damals wußte ich allerdings meistenes woran liegt
Die schleife liest einfach Zeile für Zeile aus dem Worksheet Verbrauch_Maerz_August Artikelnummern aus und überprüft, ob diese auch im anderen Worksheet sind. wenn ja, dann soll in die Zeile links von der gefundenen Nummer ein Ja geschrieben werden.
Dim Nummer As Integer
Dim Reihe As Integer
Dim n As Variant
Dim p As Variant
n = 2
For Reihe = 5 To 168
Nummer = Worksheets("Verbrauch_Maerz_August").Range("A" & Reihe).Value
With Worksheets("Konsi_SAP_Auswert").Range("B6:B339")
p = .Find(Nummer).Row
End With
If Worksheets("Konsi_SAP_Auswert").Cells(p, n).Value = Nummer Then
Worksheets("Konsi_SAP_Auswert").Cells(p, n - 1).Value = "Ja"
End If
p = Empty
Next Reihe
End Sub
Vielen Dank schon mal für die Mühen
Gruß Martin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91 die hundertste
07.09.2007 11:43:08
ptonka
Hallo Martin,
ich habe Dein Makro bei mir laufen lassen. Klappt einwandfrei.
Welche Excel-Version nutzt Du denn? Ich habe Excel 2002 SP3.
Gruß,
Jochen

AW: Laufzeitfehler 91 die hundertste
07.09.2007 11:53:00
fcs
Hallo Martin,
die Find-Methode gibt ein Range-Objekt, wenn der Suchbegriff gefunden wird oder Nothing.
Dadurch gibt es Probleme wenn du versuchst direkt die Zeile zu ermitteln, wenn der Suchbegriff in der 2. Tabelle nicht vorhanden ist.
Du muss eine Prüfung einbauen, ob Find erfolgreich war. Schaut dann etwa wie folgt aus.
Gruß
Franz

Sub Test2()
Dim Nummer As Integer
Dim Reihe As Integer
Dim n As Variant
Dim Zelle As Range
n = 2
For Reihe = 5 To 168
Nummer = Worksheets("Verbrauch_Maerz_August").Range("A" & Reihe).Value
With Worksheets("Konsi_SAP_Auswert").Range("B6:B339")
Set Zelle = .Find(Nummer)
End With
If Not Zelle Is Nothing Then
Worksheets("Konsi_SAP_Auswert").Cells(Zelle.Row, n - 1).Value = "Ja"
End If
Next Reihe
End Sub


Anzeige
AW: Laufzeitfehler 91 die hundertste
07.09.2007 12:00:00
lueckii
Bei deinem Vorschlag läuft das Makro zwar 6 mal durch, aber dann kommt ein Laufzeitfehler 6 : Überlauf.
Den hab ich jetzt noch nie gehabt *grins*

AW: Laufzeitfehler 91 die hundertste
07.09.2007 12:09:00
Andi
Hi,
Du hast Nummer als Integer dimensioniert, dh der maximale Wert für Nummer ist 32.767. In Spalte A stehen aber deutlich größere Werte, daher vermutlich der Überlauf. Dimensioniere Nummer als Long, dann müsste es gehen.
Schönen Gruß,
Andi

AW: Laufzeitfehler 91 die hundertste
07.09.2007 12:17:07
lueckii
Super.
Jetzt läufts einwandfrei. Danke allen für die schnelle Hilfe
Gruß Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige