453 Aufrufe
Gefragt in Tabellenkalkulation von addeguddi Experte (2.6k Punkte)
Bearbeitet von addeguddi

Hallo und guten morgen an das Team 

habe folgendes Problem:

Bei meinem Spiel funktioniert bis bis zur Runde 4 alles, doch sowie ich auf Runde 5 erhöhe, erscheint Laufzeitfehler"5" mit dem Hinweis Ungültiger Prozeduraufruf oder ungültiges Argument.

Runden werden mit Doppelklick in Zelle C1 erhöht. In den Zellen B4 bis F14 sind Zahlen eingetragen deren Punkte werden in den Zellen A18 bis I89 erfasst. 

Die Anzahl der Punkte werden dann in den Zellen L5 bis AI5 für, bis zur 4 Runde übernommen.

Ab Runde 5 sollten dann in den Zellen L12 bis AI12 übernommen werden und Ab Runde 9 in den Zellen L19 bis AI19, wenn alles in Ordnung wäre und ab 5 nicht dieser Fehler angezeigt wird. 

Die Würfe werden in den Zellen für Runde 1 bis Runde 4 in  L31 bis AI 31, Runde 5 bis 8 in den den Zellen L32 bis AI32 und Runde 9 L33 bis AI33

Ich weis leider nicht was ich hier verändern muss hier wird der Fehler angezeigt

 'Nun Zeile für Würfe suchen
  'dazu die Nr des Spiel herausfinden und damit Suchstring erstellen
 strSpiel = "Sp" & Right(Cells(lngEZeile - 3, lngSpalte), Len(Cells(lngEZeile - 3, lngSpalte).Value) - 6)

In der Hoffnung, das mir jemand eine Lösung geben oder erstellen kann.
sollte jemand die Liste benötigen kann ich sie gerne hochladen.

Lieben Gruß Adde
Die komplette Eingabe
  'Nun Zeile für Würfe suchen
  'dazu die Nr des Spiel herausfinden und damit Suchstring erstellen
  strSpiel = "Sp" & Right(Cells(lngEZeile - 3, lngSpalte), Len(Cells(lngEZeile - 3, lngSpalte).Value) - 6)
  'Zeile für Spiel suchen
  For lngZeile = 18 To 89
    If Cells(lngZeile, 1).Value = strSpiel Then
      lngSZeile = lngZeile
      Exit For
    End If
  Next lngZeile

 

25 Antworten

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi Adde,

hast du mal geprüft, mit welchen Werten deine Variablen lngEZeile und lngSpalte belegt sind wenn der Fehler auftritt und welchen Wert dann der Ausdruck Len(Cells(lngEZeile - 3, lngSpalte).Value) - 6 ergibt? Möglicherweise kann ja die Funktion Right(...) nicht berechnet werden weil zu wenig Zeichen in der Zelle stehen.

Bis später, Karin

0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Hallo liebe Karin

vielen Dank für deine Antwort.

Ich verstehe leider nicht was das bedeutet. Kann mit dem Begriff lngEZeile lngSpalte Len(Cells(lng(Ezeile- 3 Usw nirgends zuordnen. Dies hat mir einmal vor Jahren ein netter Kollege aus eurem Team erstellt. Habe einiges daran verändert. was ich so in der Zwischenzeit gelernt habe, doch hier weis ich leider nicht weiter. Habe schon die Zahlen geändert passiert leider nur die gleiche Fehlermeldung. Das Kuriosum ist das es Bis zur 4ten Runde reibungslos funktioniert. Und beim 5 bis 12 Spiele nicht mehr. Ab 5 Spiel müssten die Einträge wie oben erwähnt stattfinden .

Vielleicht, liest er das und kann mir oder du mir weiterhelfen.

Soll ich die Liste einmal Hochladen, damit du es dir anschauen kannst und eventuell siehst was der Fehler ist?

Gruß Adde
+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi Adde,

Hinweis: man kann den Inhalt von Variablen und Ausdrücken prüfen um festzustellen, mit welchen Werten sie belegt sind, um so Fehler ausschließen zu können. Das macht man, indem man den Code im Einzelschrittmodus ablaufen lässt (F8 bei geöffnetem VBA-Editor) und dann, wenn der Code in der relevanten Zeile angekommen ist, den Cursor auf die betreffende Variable (z.B. lngEZeile) legt - dann kann man sehen, was der Inhalt der Variablen ist. Handelt es sich um einen komplexeren Ausdruck, der geprüft werden soll - wie z.B. Len(Cells(lngEZeile - 3, lngSpalte).Value) - 6 dann kann man sich das Ergebnis z.B. in einer MsgBox ausgeben lassen, indem man eine zusätzliche Codezeile (vor der Codezeile mit dem Fehler) einfügt:

MsgBox Len(Cells(lngEZeile - 3, lngSpalte).Value) - 6

Vielleicht solltest du das erst einmal versuchen - ist ja nicht allzu kompliziert. Wenn du damit nicht klar kommst oder die Variablen richtig belegt sind und somit ein damit zusammenhängender Fehler ausgeschlossen ist, dann wäre es gut, wenn du die Mappe mal hochlädst.

Bis spärer, Karin

0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Guten Morgen Karin,

habe das mit F8 probiert, aber da passiert bei mir nichts.

Info: per Doppelklick in C1 erhöht sich die Runden Anzahl und je nach Rundenzahl erhöht sich die Zahl G1

Per DK. in die Zellen A4 bis F14 sollte der Wert bei Runde 5 in der Zelle für Spieler 25 in der der Zelle L12 eingetragen werden.

Hier ist der Code zum Download:

https://filehorst.de/d/ebvwEDzs

Wäre ganz toll, wenn du das lösen könntest.

Gruß Adde
+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Adde,

da du das Doppelklick-Ereignis des Tabellenblattes verwendest musst du zuerst im VBA-Editor auf die Prozedur einen Haltepunkt setzen, ehe du mit F8 weiter durchlaufen kannst. Setze dazu den Cursor in die oberste Zeile der Prozedur und drücke F9 - die betreffende Zeile wird braun gefärbt. Sobald du dann den Doppelklick im Tabellenblatt ausführst, hält der Code an und die Zeile wird gelb markiert. Danach kannst du mit F8 weiterlaufen.

Den Haltepunkt löschst du, indem du mit dem Cursor erneut in die Zeile klickst und noch einmal F9 drückst. Haltepunkte werden übrigens nicht gespeichert wenn die Mappe geschlossen wird.

Die Mappe bitte hier im Forum hochladen, nicht bei einem Fremdhoster.

Bis später, Karin
0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Danke für deine Antwort Karin,

wo kann ich die Mappe im Forum hochladen.

Gruß Adde
+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi Adde,

schaust du hier

Bis später, Karin

0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)

Hallo Karin nochmals Danke,

hoffe, es hat geklappt.

Gruß Adde

https://supportnet.de/forum/?qa=blob&qa_blobid=3047318968309685070

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Adde,

der Upload hat funktioniert.

Was genau muss ich machen damit der Fehler auftritt? Ich habe im Bereich C4:G13 20mal doppelgeklickt - es gibt keinen Fehler.

Bis später, Karin
0 Punkte
Beantwortet von addeguddi Experte (2.6k Punkte)
Hallo Karin,

Fehler erscheint, wenn man in die Zahlenreihe B4 bis F14 Doppelklick tätigt.

Gruß Adde

Ps. Wichtig ist das in Zelle C 2 die Zahl 5 steht, sollte sie niedriger sein als 5 kann man dies mit Doppelklick erhöhen.
...