Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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
Inhaltsverzeichnis

Fehler 2042

Fehler 2042
20.11.2021 14:15:17
Michael
Hallo zusammen,
ich habe dieses Makro:
Set Bereich = Worksheets("Modelle").Range("L5:R10") 'Matrix
Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K5:K10,1)")
Spalte = Evaluate("=MATCH(Auftragsbestätigung!E28,Modelle!L4:R4,1)")
'Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K5:K10,1)")
'Spalte = Evaluate("=MATCH(AuftragsbestätigungE28,Modelle!L4:R4,1)")
If Worksheets("Auftragsbestätigung").Range("E27") = "A" Or _
Worksheets("Auftragsbestätigung").Range("E27") = "A links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S-H links absteigend" Then
Select Case Bereich.Cells(Zeile, Spalte).Interior.Color
bleibt hier stehen und Zeile wird 2042 angezeigt.
Was kann es sein, ich hatte die Matrix verkleinert, die Daten stehen in L5:R10
Spaltenüberschrift von L4:R4
Zeilenüberschrift: K5:K10
Case 16777215: Ausgabe = "A links absteigend" 'weiß
Case 49407: Ausgabe = "A-S links absteigend" 'Gelb
Case 5296274: Ausgabe = "A-S-H links absteigend" 'Grün
End Select
Worksheets("Auftragsbestätigung").Range("E27") = Ausgabe
End If
mfg michael

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler 2042
20.11.2021 14:30:13
Nepumuk
Hallo Michael,
lade bitte eine Mustermappe hoch in welcher der Fehler auftritt, ich kann das nämlich nicht nachvollziehen.
Gruß
Nepumuk
AW: Fehler 2042
20.11.2021 15:14:25
Nepumuk
Hallo Michael,
ich habe den Fehler gefunden. Wenn Match nichts finden dann befindet sich ein Fehlerwert in der Variablen. Das kannst du so abfangen:

Dim Zeile As Variant, Spalte As Variant
Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K5:K10,1)")
Spalte = Evaluate("=MATCH(Auftragsbestätigung!E28,Modelle!L4:R4,1)")
If IsError(Zeile) Or IsError(Spalte) Then
MsgBox "Zeile oder Spalte nicht gefunden", vbCritical, "Programmabbruch"
Exit Sub
End If
Gruß
Nepumuk
Anzeige
Habe so eingesetzt aber ...
20.11.2021 20:15:43
Walter
Hallo Nepumuk,
habe mal so eingesetzt aber ohne Erfolg:
Dim Bereich, Bereich2 As Range
Dim Zeile2 As Long, Spalte2 As Long
Dim Ausgabe As String
Sheets("Auftragsbestätigung").Select
ActiveSheet.Unprotect (getStrPasswort)
ActiveSheet.Application.ScreenUpdating = False
Application.EnableEvents = True
Dim SHP As Shape
For Each SHP In ActiveSheet.Shapes
Select Case SHP.name
Case "A", "A-S", "A-S-H", "B", "B-S", "B-S-H", "C", "C-S", "C-S-H": SHP.Delete
End Select
Next SHP
Dim Zeile As Variant, Spalte As Variant
Set Bereich = Worksheets("Modelle").Range("L5:R10") 'Matrix
If IsError(Zeile) Or IsError(Spalte) Then
MsgBox "Zeile oder Spalte nicht gefunden", vbCritical, "Programmabbruch"
Exit Sub
Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K5:K10,1)")
Spalte = Evaluate("=MATCH(AuftragsbestätigungE28,Modelle!L4:R4,1)")
If Worksheets("Auftragsbestätigung").Range("E27") = "A" Or _
Worksheets("Auftragsbestätigung").Range("E27") = "A links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S-H links absteigend" Then
Select Case Bereich.Cells(Zeile, Spalte).Interior.Color
Case 16777215: Ausgabe = "A links absteigend" 'weiß
Case 49407: Ausgabe = "A-S links absteigend" 'Gelb
Case 5296274: Ausgabe = "A-S-H links absteigend" 'Grün
End Select
Worksheets("Auftragsbestätigung").Range("E27") = Ausgabe
End If
End If
leider kein Erfolg
mfg michael
Anzeige
AW: Habe so eingesetzt aber ...
20.11.2021 21:04:31
Nepumuk
Hallo Michael,
die Prüfung muss nach der Match-Funktion erfolgen, nicht davor. Das ist doch aus meinem Beispiel ersichtlich, oder?
Gruß
Nepumuk
AW: Habe so eingesetzt aber ...
20.11.2021 21:08:08
Michael
Hallo Nepumuk,
Sorry habe nicht aufgepasst, der Name vom Vater „Walter“ war noch drin.
Mit freundlichen Grüßen
Michael
AW: Habe so eingesetzt aber ...
20.11.2021 21:08:19
Michael
Hallo Nepumuk,
Sorry habe nicht aufgepasst, der Name vom Vater „Walter“ war noch drin.
Mit freundlichen Grüßen
Michael
AW: Habe so eingesetzt aber ...
21.11.2021 08:12:56
Hajo_Zi
Hallo Michael,
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Ich konnte dies im Beitrag nicht lesen!
Das ist nur meine Meinung zu dem Thema.
GrußformelHomepage
Anzeige
Guten Morgen Hajo, habe ja noch keine Lösung !!!
21.11.2021 11:00:30
Walter
Guten Morgen Hajo, habe ja noch keine Lösung !!!
21.11.2021 11:00:46
Michael
AW: Guten Morgen Hajo, habe ja noch keine Lösung !!!
21.11.2021 11:25:24
Nepumuk
Hallo Michael,
was ist daran so schwierig?

Dim Zeile As Variant, Spalte As Variant
Dim Ausgabe As String
Dim Bereich As Range
Sheets("Auftragsbestätigung").Select
ActiveSheet.Unprotect getStrPasswort
Application.ScreenUpdating = False
Application.EnableEvents = True
Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K5:K10,1)")
Spalte = Evaluate("=MATCH(AuftragsbestätigungE28,Modelle!L4:R4,1)")
If IsError(Zeile) Or IsError(Spalte) Then
MsgBox "Zeile oder Spalte nicht gefunden", vbCritical, "Programmabbruch"
Exit Sub
End If
Set Bereich = Worksheets("Modelle").Range("L5:R10") 'Matrix
If Worksheets("Auftragsbestätigung").Range("E27") = "A" Or _
Worksheets("Auftragsbestätigung").Range("E27") = "A links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S links absteigend" _
Or Worksheets("Auftragsbestätigung").Range("E27") = "A-S-H links absteigend" Then
Select Case Bereich.Cells(Zeile, Spalte).Interior.Color
Case 16777215: Ausgabe = "A links absteigend" 'weiß
Case 49407: Ausgabe = "A-S links absteigend" 'Gelb
Case 5296274: Ausgabe = "A-S-H links absteigend" 'Grün
End Select
Worksheets("Auftragsbestätigung").Range("E27") = Ausgabe
End If
Gruß
Nepumuk
Anzeige
Danke Nepumuk -)
21.11.2021 16:56:01
Michael
Hallo Nepumuk,
habe so reingesetzt.
Es läuft alles.
Danke.
gruß michael
Nepumuk, leider der selber Fehler
21.11.2021 18:50:22
Michael
Hallo Nepumuk,
leider wird der gleiche Fehler Produziert.
Ich erstelle mal eine Musterdatei !!!
Wenn Du noch LUST hast ?
mfg
Michael
AW: Nepumuk, leider der selber Fehler
21.11.2021 19:11:51
Nepumuk
Hallo Michael,
ja, mach mal.
Gruß
Nepumuk
AW: Nepumuk, leider der selber Fehler
21.11.2021 19:35:14
Michael
Hallo Nepumuk,
anbei die Datei.
Per AuswahlBox bitte A,B oder C auswählen.
Danach wird das entsprechende Muster geladen.
In der Matrix befinden sich die Werte (€) und dazugehörigen weiteren Muster.
Je nachdem, wenn sich der gefundene Wert im weißen, gelben oder grünen Feld befindet,
wird das entsprechende Muster geladen. (siehe Sheet Modelle)
Ich drücke mal die Daumen.
https://www.herber.de/bbs/user/149286.xlsm
mfg Michael
Anzeige
AW: Nepumuk, leider der selber Fehler
21.11.2021 19:40:15
Nepumuk
Hallo Michael,
und das VBA-Kennwort ist?
Gruß
Nepumuk
Anbei…
21.11.2021 20:09:11
Michael
Hallo Nepumuk,
wwpa
Gruß Michael
AW: Anbei…
22.11.2021 10:19:02
Nepumuk
Hallo Michael,
ok, ich wähle in der ComboBox etwas aus und dann? Was muss ich machen um den Fehler auszulösen?
Gruß
Nepumuk
AW: Anbei…
22.11.2021 10:48:18
Michael
Guten Morgen Nepumuk,
mal wählt mit der ComboBox den Buchstaben aus, für das entsprechende Element.
Es erscheint das entsprechende Element und die Info kommt:
Bitte wählen Sie die Breite und Höhe aus.
Bei der Eingabe der der Breite wird die Fehlermeldung schon ausgelöst !
Anbei die angepasste Datei ohne Passwort.
https://www.herber.de/bbs/user/149292.xlsm
Danke nochmals im Voraus !
mfg Michael
Anzeige
Ergänzend die Formel für Zelle...
22.11.2021 11:05:13
Michael
Hallo Nepumuk,
ergänzend hab ich die Formel für die Zelle "H27" mal korrigiert.
=WENN(E28="";"";WENN(ODER(E27="C";E27="C-S";E27="C-S-H");M27;INDEX(Modelle!$L$5:$R$10;VERGLEICH(E29; Modelle!$K$4:$K$10;1);VERGLEICH(E28;Modelle!$K$4:$R$4;1))))
dies ergibt die RICHTIGE Auswahl aus der Matrix.
mfg Michael
AW: Ergänzend die Formel für Zelle...
22.11.2021 11:41:30
Nepumuk
Hallo Michael,
jetzt weiß ich noch immer nicht wie ich den Fehler auslöse. Und wenn, welchen in welchem Makro in welcher Zeile.
Gruß
Nepumuk
AW: Ergänzend die Formel für Zelle...
22.11.2021 12:38:30
Michael
Hallo Nepumuk,
sobald Du in der Zelle E28 eine Zahl eingibst, z.B. 2501, dann kommt
deine InfoBox Zeile oder Spalte nicht gefunden !
Dann einfach auf "Debuggen" gehen.
mfg michael
Anzeige
AW: Ergänzend die Formel für Zelle...
22.11.2021 12:55:31
Nepumuk
Hallo Michael,
1. Das Exit Sub musst du natürlich drin lassen, ansonsten läufst du ja in den Fehler.
2. Musst du nach jeder Match-Funktion prüfen ob der zugewiesene Wert einen Fehler enthält.
Ich hab das mal eingebaut: https://www.herber.de/bbs/user/149296.xlsm
Gruß
Nepumuk
Danke aber...
22.11.2021 13:16:32
Michael
Hallo Nepumuk,
nach der Info über Fehler, wird leider das Muster-Element gelöscht.
mfg michael
AW: Danke aber...
22.11.2021 13:21:53
Nepumuk
Hallo Michael,
dann musst du deinen Code so ändern, dass du keinen Fehler produzierst.
Gruß
Nepumuk
Schade...
22.11.2021 13:33:53
Michael
Hallo Nepumuk,
aber das war doch das Problem !
Na ja muss halt mal schauen.
mfg michael
Anzeige
Habe es geschafft ! aber noch Matrix
22.11.2021 14:08:05
Michael
Hallo Nepupuk,
dank deiner Fehlermeldung, habe ich die Lösung gefunden.
In der Matrix muss in Zelle K4 unbedingt eine 0 eingetragen werden und im Makro
so eingesetzt werden:
Set Bereich = Worksheets("Modelle").Range("L5:R10")
Zeile = Evaluate("=MATCH(Auftragsbestätigung!E29,Modelle!K4:K10,1)")
Spalte = Evaluate("=MATCH(Auftragsbestätigung!E28,Modelle!L4:R4,1)")
Leider stimmt aber nicht die Matrix Auswertung in Zelle H27
Wenn man die Breite in Zelle E28 mit 2510
und in E29 1500 eingibt, sollte 546,00 drin stehen aber es steht: 506,00 drin.
Der Wert in Zelle E28 ist 2510 also soll der Wert 3000 genommen werden.
Das ist Falsch, die Werte beziehen sich immer bis als bis 1500 ist also einschließlich 1500
oder
VIELLEICHT hast Du ein Lösung ?
mfg michael
Anzeige
AW:Danke Nepumuk --))
22.11.2021 14:34:10
Michael
Hallo Nepumuk,
danke für alles.
Ich habe mal für die Matrix einen neuen Beitrag angelegt.
Schönen Montag noch,
gruß michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige