Anzeige
Archiv - Navigation
1096to1100
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
Laufzeitfehler 1004 Anwendungs oder usw.
Daniel
Hallo,
ich habe ein Problem mit meinem VBA Code.
Er soll in einem bestimmten Bereich der Tabelle alle Bilder löschen(welche davor auf Doppelklick eingefügt wurden) .
Der Code funktioniert auch, aber nach einiger Zeit kommt immer der Fehler 1004 (siehe Betreff) Anwendungs oder objektorientierter Fehler.
Weiß jemand bescheid woran das liegt?
mfg daniel
Anbei der Code:
Option Explicit

Sub Bildlöschen()
Dim S As Shape
For Each S In Worksheets("Angaben").Shapes
If Not Intersect(Range("F20:F40"), S.TopLeftCell) Is Nothing Then
S.Delete
End If
Next S
End Sub

AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 09:38:34
ChrisL
Hallo Daniel
Könntest mal versuchen zu ermitteln, welcher Shape den Fehler verursacht. Vielleicht hat der keinen TopLeftCell Wert, warum auch immer...
Sub Bildlöschen()
Dim S As Shape
For Each S In Worksheets("Angaben").Shapes
MsgBox S.Name
If Not Intersect(Range("F20:F40"), S.TopLeftCell) Is Nothing Then
S.Delete
End If
Next S

Sub Bildlöschen()
Dim S As Shape
For Each S In Worksheets("Angaben").Shapes
MsgBox S.TopLeftCell
If Not Intersect(Range("F20:F40"), S.TopLeftCell) Is Nothing Then
S.Delete
End If
Next S
End Sub

cu
Chris
Anzeige
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 09:42:22
Daniel
Morgen chris,
da kommt dann nur eine Messagebox mit leerem inhalt wo man auf Ok klicken kann.
Gibt es einen anderen Code für das Löschen von Bildern(.jpg) in einem bestimmten Bereich der Tabelle?
Danke auf jeden fall.
Gruß
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 09:47:07
ChrisL
Hallo
ähhhmmm ja ich denke Luschi hat das Problem richtig erkannt.
cu
Chris
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 10:44:12
daniel
Hab den code geändert,leider funktioniert es nimmer nich net :(
AW: Laufzeitfehler 1004 Anwendungs oder usw.
29.08.2009 09:28:26
ChrisL
Hallo Daniel
Am einfachsten wäre wohl eine abgespeckte Beispieldatei zu laden.
Da der Code grundsätzlich funktioniert wäre es wichtig herauszufinden, welcher Shape genau den Fehler produziert. In einem 2. Schritt kann man dann der "Warum-Frage" auf den Grund gehen. Einen alternativen Löschcode zu produzieren wäre keine Lösung, weil der gleiche Fehler wieder auftreten würde.
cu
Chris
Anzeige
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 09:43:35
Luschi
Hallo Daniel,
Du mußt das Range-Objekt voll referenzieren:
If Not Intersect(Worksheets("Angaben").Range("F20:F40"), S.TopLeftCell) Is Nothing Then
Ohne diesen Zusatz greift Range auf die aktive Tabelle zu. Ist also eine andere Tabelle als 'Angaben' aktiv,
dann zickt die Intersect-Funktion, da diese nur Bereiche aus der gleichen Tabelle auf Überlappung vergleichen kann.
Beim S-Objekt muß man das nicht machen, da hier der dazugehörige Tabellenname in der ForSchleife vererbt wird.
Gruß von Luschi
aus klein-Paris
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 10:45:05
daniel
Hab ich gemacht und dachte das geht nun, aber kommt immer noch?!
Vll gibt es ja eine andere Mgl. in einem bestimmten Bereich alle Bilder zu löschen?
Anzeige
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 10:56:36
daniel
Weiß niemand einen alternativen Code zum löschen?
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 11:03:35
Luschi
Hallo Daniel,
dann zeige nochmals den ganzen Vba-Code, bei mir läuft er total glatt durch.
Gruß von Luschi
aus klein-Paris
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 11:08:57
daniel
Ich hab den Code schon wieder gelöscht, es geht darum das ich eine Liste mit Zahlen habe und wenn man
darauf doppelklickt dann erscheint an einer bestimmten Zelle in der Tabelle ein Bild. Und nun will ich wenn man auf einen anderen Wert in der Liste klickt das Bild löschen was bereits auf dem Bildschirm ist und druch das neue ersetzen? Weil ansonsten die bilder überlagert werden, was die Excel datei an größe gewinnen lässt ^^
Verstehst was ich erzielen will?
Anzeige
AW: Laufzeitfehler 1004 Anwendungs oder usw.
28.08.2009 11:33:02
daniel
Ich habe einen neuen code, allerdings löscht der ja alle bilder, kann man was dazufügen, dass nur bestimmte bilder (als mit best.namen) gelöscht werden?
Option Explicit
Public Sub Bildlöschen()
Dim objShape As Shape
For Each objShape In Tabelle1.Shapes
If objShape.Type = msoPicture Then objShape.Delete
Next
End Sub

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige