Clever-Excel-Forum

Normale Version: Fehler 400
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eines meiner Makros leicht verändert und in die PERSONAL.xls eingefügt.
Wenn ich das Makro nun ausführen will, erscheint ein Fenster mit "400" und einem roten X (eine wie ich festgestellt habe im Excel-Universum gefürchtete Fehlermeldung). Beim debuggen stoppt das Makro jedoch an einer Stelle, die ich gar nicht verändert habe.
Die Fehlermeldung erscheint seitdem nicht nur bei diesem Makro sondern bei allen anderen auch, die in PERSONAL gespeichert sind.
Komischerweise werden aber alle Makros ohne Fehlermeldung ausgeführt, wenn ich den VBA-Code direkt in das zu verändernde Arbeitsblatt kopiere.

Habe gelesen das eine Veränderung der Registry Einträge helfen soll aber eine genaue Anleitung konnte ich im Netz nicht finden und so alleine möchte ich da auch nicht rumpfuschen.

Viele Grüße

Moritz
Hallo Moritz,

(28.07.2017, 13:35)kosmoritz schrieb: [ -> ]Komischerweise werden aber alle Makros ohne Fehlermeldung ausgeführt, wenn ich den VBA-Code direkt in das zu verändernde Arbeitsblatt kopiere.

könntest Du das etwas detaillierter beschreiben? Vielleicht auch etwas zum Code selbst?

Gruß Uwe
Starte ich das Makro aus meiner Persönlichen Makroarbeitsmappe heraus, laufe ich an immer der gleichen Stelle auf diesen Fehler.
Copy-Paste'e ich aber den Code aus meiner Makroarbeitsmappe direkt in das Arbeitsblatt, welches ich verändern möchte, funktioniert der Code einwandfrei.

Ich habe lediglich folgendes  an meinen Code angehängt


Code:
Dim targetRange as Range
Set targetRange = Range("A1")
Dim pictureShape As Shape
Set pictureShape = ActiveSheet.Shapes.AddPicture( _
    "R:\Ordner\Zensiert\DasIstEinBild.jpg", _
    False, True, _
    targetRange.Left, _
    targetRange.Top, _
    targetRange.Width, _
    targetRange.Height)

 ActiveSheet.Shapes.Range(Array("Picture 2")).Select
    Selection.ShapeRange.ScaleWidth 24.5454545455, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 50.4705882353, msoFalse, msoScaleFromTopLeft

Der komplette Code wäre zu lang um ihn hier zu veröffentlichen.

Das komische ist aber, dass der Fehler nicht an dieser Stelle auftaucht, sondern viel vorher und das ist nie passiert obwohl der Code mittlerweile mehrere Monate fast jeden Tag einmal läuft.
Ich glaube also nicht, dass es am Code selbst liegt sondern das ich irgendwie irgendwas in Excel zerschossen habe.

Folgender Artikel beschreibt ein ähnliches Problem und ist genauso mysteriös.
Link

LG

Moritz
Hallöchen,

da stellen sich einige Fragen ...

- Läuft es, wenn Du den Code wieder entfernst
- warum .xls und nicht .xlsx (hat eher nix mit dem Problem zu tun)
- ist zur Ausführung des Codes auch eine Datei offen und ein Worksheet aktiv
- hast Du auf dem Blatt auch schon ein Picture 2
- ist das Blatt geschützt
- ...

- und hast Du das Makro im Schnellzugriff? Du schreibst ja nur von einem "ähnlichen" Problem
Hallo Moritz,

(28.07.2017, 15:12)kosmoritz schrieb: [ -> ]Starte ich das Makro aus meiner Persönlichen Makroarbeitsmappe heraus, laufe ich an immer der gleichen Stelle auf diesen Fehler.
Copy-Paste'e ich aber den Code aus meiner Makroarbeitsmappe direkt in das Arbeitsblatt, welches ich verändern möchte, funktioniert der Code einwandfrei.

das geht nicht. siehe z.B. hier: https://www.computerbase.de/forum/showth...?t=1248745&p=14461534#post14461534
Vielleicht solltest Du das auch mal durchgehen: Module und VBAProject

Gruß Uwe
Hallo,

@schauan

- Nein, seitdem ich diesen veränderten Code aus der Persönlichen Makroarbeitsmappe ausgeführt habe funktioniert selbst der alte nicht mehr
- Ich verwende .xls
- Ja schon, die Datei die ich verändern will und die PERSONAL.xls
- Nein, das ist das erste "Picture 2"
- Nein, das Blatt ist nicht geschützt
- Selbst im Schnellzugriff funktioniert das Makro nicht, gleicher Fehler an gleicher Stelle

@Uwe

Danke, ich arbeite mich da mal durch

Gruß

Moritz
@Uwe
Die aufgeführten Probleme in den Links sind zwar einleuchtend erklärt, aber helfen mir immer noch nicht bei der Lösung meines Problems. Hoffe ich stehe nicht auf dem Schlauch.

VG

Moritz
Hallo Moritz,

dann nimm mal in die codezeile wo der Fehler auftritt einen Stop und prüfe die Variablen und Objekte die Du in der Fehlerzeile verwendest. Sind die alle da, haben die die richtige Dimensionierung usw.