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

Laufzeitfehler 13

Laufzeitfehler 13
07.07.2007 10:39:00
Marjam
Hallo,
ich habe ein Problem. Wenn ich das folgende Makro ausführe, bekomme ich immer die Meldung Laufzeitfehler 13 und die eine Zeile ist gelb markiert (hier kursiv)...was habe ich falsch gemacht. Das makro muss unbedingt funktionieren. Wäre über Hilfe dankbar.

Sub Gamma()
'Ermittlung der Anzahl der Zeilen im Tabellenblatt
Start = InputBox("In welcher Zeile befindet sich die erste Maximierung?")
Index = InputBox("In welcher Zeile befindet sich die letzte Maximierung?")
Leerzeile = InputBox("Welche Zeile ist die erste unbenutzte Zeile?" & vbCr & "(Diese Zeile  _
brauche ich als Zwischenspeicherplatz, d.h. in der Zeile sollte wirklich gar nichts stehen)"
Frei = Leerzeile + 9
Schleife für die ausgewählten Zeilen
For i = Start To Index
'Kopieren der i-9 bis i-ten Zeile ans Ende des Tabellenblattes
Range(Rows(i - 9), Rows(i)).Select
Selection.Copy
Rows(Frei - 9).Select
ActiveSheet.Paste
'Berechnung der Maximierung mit dem Solver
SolverReset
SolverOk SetCell:="$BP$" & Frei, MaxMinVal:=1, ValueOf:="0", ByChange:="$E$" & lngR & ":$L$" &  _
Frei
SolverSolve UserFinish:=True
'Kopieren der optimalen Parameter in die Ursprungszellen
Range(Cells(Frei, 5), Cells(Frei, 12)).Select
Selection.Copy
Range(Cells(i, 5), Cells(i, 12)).Select
ActiveSheet.Paste
i = i + 9
Next i
'Löschen der Einträge in der "Frei"-Spalte
Rows(Frei - 9).Select
Selection.Clear
Rows(Frei - Cool.Select
Selection.Clear
Rows(Frei - 7).Select
Selection.Clear
Rows(Frei - 6).Select
Selection.Clear
Rows(Frei - 5).Select
Selection.Clear
Rows(Frei - 4).Select
Selection.Clear
Rows(Frei - 3).Select
Selection.Clear
Rows(Frei - 2).Select
Selection.Clear
Rows(Frei - 1).Select
Selection.Clear
Rows(Frei).Select
Selection.Clear
End Sub


Grüße Marjam

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13
07.07.2007 12:48:00
Mag
Hi,
tausche mal aus:
Leerzeile = InputBox("Welche Zeile ist die erste unbenutzte Zeile?" & vbCr & _
"(Diese Zeile brauche ich als Zwischenspeicherplatz, d.h. in der Zeile sollte wirklich gar nichts stehen)")
Frei = Leerzeile + 9
'Schleife für die ausgewählten Zeilen
Gruss

AW: Laufzeitfehler 13
07.07.2007 13:16:57
Marjam
Hat leider nicht geholfen. Ich bekomme immernoch die Fehlermeldung "Laufzeitfehler 13". Ich habe echt keine Ahnung, was falsch ist. Vielleicht hast du ja noch eine Idee?
Grüße

AW: Laufzeitfehler 13
07.07.2007 18:09:00
Marjam
Hallo,
ich stehe immernoch vor meinem Problem: "Laufzeitfehler 13: Typen unverträglich" und bin echt verzweifelt. Ich wäre echt super dankbar, wenn mir jemand helfen könnte.
Beste Grüße
Marjam

Anzeige
AW: Laufzeitfehler 13
07.07.2007 18:20:49
{Boris}
Hi Marjam,
Frei = Leerzeile + 9
funktioniert nicht, weil die Variable Leerzeile bei Abbruch der Inputbox den Wert "" (einen Leerstring) annimmt. Und String + Zahl geht nunmal nicht und führt zu Deiner Fehlermeldung.
Schau Dir in der Hilfe mal Application.Inputbox an - da kannst Du die Eingaben bereits von vornherein auf Zahlen beschränken. Zudem erzeugt der Abbruchbutton den Wahrheitswert FALSE - und den kann man einfach abfragen.
BTW: Hast Du den Code abgetippt?
Rows(Frei - Cool.Select dürfte so wohl nicht funktionieren.
Noch ein Tipp: Zwing Dich zur Variablendeklaration durch Option Explicit :-)
Grüße Boris

Anzeige
AW: Laufzeitfehler 13
07.07.2007 18:37:00
Marjam
Eigentlich hat alles genauso funktioniert, deswegen bin ich ja so verwundert...somit dachte ich, dass der Code richtig sein müsste und der Laufzeitfehler irgendwie an verchiedenen Versionen von Excel liegt oder so was... im Grunde soll Frei = Leerzeile + 9 nur aussagen, dass der Solver immer nur nach 10 Zellen wieder optimieren soll. Vielleicht kann man das auch einfacher gestalten, denn die veränderbaren Zellen sowie der Optimiereungswert folgen immer erst nach 10 Zellen. Allerdings habe ich es auch schon ganz einfach probiert und es hat nicht funktioniert...siehe folgender Code

Sub Gamma()
Dim i As Long
For i = 2 To 11000 Step 11
SolverOk SetCell:="$BP$ & i", MaxMinVal:=1, ValueOf:="0", ByChange:="$E$ & i:$L$ & i"
SolverSolve UserFinish:=True
Next i
End Sub


Vielleicht kannst diesen auch abwandeln, weil ich muss ca 2000 Zellen optimieren und würde es nicht per Hand schaffen...wichtig ist das der Solver nicht ins nichts optimiert sondern immer nur nach 10 Zellen und analog dazu ändern sich auch die Reihen der veränderbaren Zellen....
ich bin nämlich irgendwie immer auf dem Holzweg...das wäre echt nett, den ich habe so gut wie keine Ahnung von Vba und zeichne auf und füge maximal ein paar Ausdrücke, die in ein paar Büchern aufschnappe dazu, also absoluter Anfänger.
Grüße
Marjam

Anzeige
AW: Laufzeitfehler 13
07.07.2007 18:44:33
Marjam
Eigentlich hat alles genauso funktioniert, deswegen bin ich ja so verwundert...somit dachte ich, dass der Code richtig sein müsste und der Laufzeitfehler irgendwie an verchiedenen Versionen von Excel liegt oder so was... im Grunde soll Frei = Leerzeile + 9 nur aussagen, dass der Solver immer nur nach 10 Zellen wieder optimieren soll. Vielleicht kann man das auch einfacher gestalten, denn die veränderbaren Zellen sowie der Optimiereungswert folgen immer erst nach 10 Zellen. Allerdings habe ich es auch schon ganz einfach probiert und es hat nicht funktioniert...siehe folgender Code

Sub Gamma()
Dim i As Long
For i = 2 To 11000 Step 11
SolverOk SetCell:="$BP$ & i", MaxMinVal:=1, ValueOf:="0", ByChange:="$E$ & i:$L$ & i"
SolverSolve UserFinish:=True
Next i
End Sub


Vielleicht kannst diesen auch abwandeln, weil ich muss ca 2000 Zellen optimieren und würde es nicht per Hand schaffen...wichtig ist das der Solver nicht ins nichts optimiert sondern immer nur nach 10 Zellen und analog dazu ändern sich auch die Reihen der veränderbaren Zellen....
ich bin nämlich irgendwie immer auf dem Holzweg...das wäre echt nett, den ich habe so gut wie keine Ahnung von Vba und zeichne auf und füge maximal ein paar Ausdrücke, die in ein paar Büchern aufschnappe dazu, also absoluter Anfänger.
Grüße
Marjam

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige