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

Runtime Error unterdrücken

Runtime Error unterdrücken
27.11.2006 15:57:44
Martin
Hallo,
ich habe folgendes Problem. Ich möchte mir über den Code des Startmakros unten in einem Workbook mehrere Kopien des Sheets 2 und des darin enthaltenen VBA Codes (div. private sub's) erstellt. Der Code für die privaten subs in diesem sheet steht weiter unten. Dieses Makro zieht sich automatisch Bilder analog des Sheetnamens.
Wenn jetzt über das Startmakro neue Tabellen angelegt werden, werden die Bilder logischer weise nicht gefunden, da der Tabellenname noch nicht mit dem Bildname übereinstimmt. Es wird ein RUNTIME Error gemeldet und das Makro bricht ab.
Meine Frage ist, wie ich dem Makro sagen kann, dass er den Runtime Error ignorieren soll und mit der Umbenennung fortfahren soll. Danach sollte sich das Problem von selbst behoben haben.
Vielen Dank für eure Hilfe
Grüße Martin
Code im Startmakro
Sub createsheets()
Dim y As Integer
For y = 1 To 5
ActiveWorkbook.Sheets(2).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = y
Next y
End Sub
Code in der Tabelle: 2
Option Explicit

Private Sub worksheet_activate()
Range("B2").Select
ActiveSheet.Pictures.Insert("C:\VBA\Fotos\" & ActiveSheet.Name & ".JPG").Select
Selection.ShapeRange.ScaleWidth 0.44, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.44, msoFalse, msoScaleFromTopLeft
End Sub


Private Sub worksheet_deactivate()
ActiveSheet.Pictures.Delete
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runtime Error unterdrücken
27.11.2006 16:26:58
Erich
Hallo Martin,
muss denn das Einfügen des Bildes im Worksheet_Activate geschehen?
So ginge es dich einfacher - ohne Worksheet_Activate:
Option Explicit
Sub createsheets()
Dim y As Integer
For y = 1 To 5
ActiveWorkbook.Sheets(2).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = y
Range("B2").Select
ActiveSheet.Pictures.Insert("C:\VBA\Fotos\" & y & ".JPG").Select
Selection.ShapeRange.ScaleWidth 0.44, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.44, msoFalse, msoScaleFromTopLeft
Next y
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Runtime Error unterdrücken
27.11.2006 16:35:28
Martin
Danke für die schnelle Antwort. Es ist leider ein "Muss", dass es im WorkSheet_Activate steht.
Die Datei wird später insgesamt sehr groß: ca. 150 Sheets (keine 5 wie jetzt im Testmakro) und ca. 4-5 hochauflösende Fotos pro Sheet.
Sinn und Zweck ist es, dass ich nur im aktiven Worksheet die Fotos angezeigt bekomme und sobald ich ein anderes Sheet bearbeite die Fotos wieder rausgelöscht werden. Wenn ich das nicht machen würde wird das Excel Workbook so groß, dass ich es kaum noch bearbeiten kann.
Deshalb geht es leider nicht anders
AW: Runtime Error unterdrücken
27.11.2006 17:25:13
Erich
Hallo Martin,
dann kannst du die Ereginisbehandlung vor dem Copy aus- und danach wieder einschalten:
Option Explicit
Sub createsheets()
Dim y As Integer
Application.EnableEvents = False
For y = 1 To 5
ActiveWorkbook.Sheets(2).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = y
Next y
Application.EnableEvents = True
End Sub
'Code in Sheets(2):
Private Sub Worksheet_Activate()
Range("B2").Select
ActiveSheet.Pictures.Insert("C:\VBA\Fotos\" & ActiveSheet.Name & ".JPG").Select
Selection.ShapeRange.ScaleWidth 0.44, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.44, msoFalse, msoScaleFromTopLeft
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Runtime Error unterdrücken
27.11.2006 18:42:23
Martin
Klappt Super, vielen Dank!

261 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige