Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

erzeugtes Raster wieder löschen

Forumthread: erzeugtes Raster wieder löschen

erzeugtes Raster wieder löschen
22.12.2005 11:54:56
Lisa
Hallo,
hab ein Makro gebastelt das per Knopfdruck ein Raster (nur ein paar waagerechte und
senkrechte Linien)einfügt. Beim erzeugen benennt er jede Linie mit "Linie" + laufender Nummer.
Jetzt wollt ich das das Raster auch per Konopfdruck wieder gelöscht wird. Habe da grad ne for-Schleife gebastelt:

Sub raster_aus()
Dim tb As Object
For Each tb In Sheets("Tabelle1").Shapes
If Left(tb.name, 5) = "Linie" Then tb.Delete
Next tb
End 

Sub
Manchal funktionierts, meistens aber hängt sich Excel total auf und schließt sich.
Oder es kommt erst ne Fehlermeldung: "Automatisierungsfehler. Objetkt wurde vom Client getrennt."
Und dann schließt Excel sich. Aber was ist denn da dran falsch?
Oder gibt es vielleicht einen anderen weg das Raster wieder zu löschen?
Lisa

		
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erzeugtes Raster wieder löschen
22.12.2005 12:05:19
Eugen
hi
probiers mal so
Public

Sub raster_aus()
Dim tb As Object
For Each tb In Sheets("Tabelle1").Shapes
If Left(tb.Name, 4) = "Line" Then tb.Visible = False
Next tb
End Sub

mfg
AW: erzeugtes Raster wieder löschen
22.12.2005 12:09:34
Lisa
Das funktioniert leider auch nicht. Ich hab den Linien ja Namen gegeben.
Anzeige
AW: erzeugtes Raster wieder löschen
22.12.2005 12:07:10
Galenzo
schreibe ein
On Error Resume Next
als erste Anweisung in dein Makro.
Dan werden alle Fehler übersprungen, die auftreten können, wenn z.B. keine Shapes vorhanden sind, die Namen nciht stimmen, die gesperrt sind, es was anderes als Linien sind usw. usw.
Viel Erfolg!
AW: erzeugtes Raster wieder löschen
22.12.2005 12:11:00
Josef
Hallo Lisa!
Nimm einen anderen Namen!
Wahrscheinlich liegt's daran.
Das funktioniert bei mir ohne Probleme!
Sub makeLine()
Dim shp As Shape
Dim n As Integer

For n = 1 To 150
  Set shp = ActiveSheet.Shapes.AddLine(n * 5, 50, n * 5, 150)
  shp.Name = "myLine " & n
Next
Set shp = Nothing
End Sub



Sub deleteLine()
Dim shp As Shape

For Each shp In ActiveSheet.Shapes
  If Left(shp.Name, 6) = "myLine" Then shp.Delete
Next
End Sub



'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: erzeugtes Raster wieder löschen
22.12.2005 13:30:43
Lisa
Super!!
Hab deinen Quellcode mal an meine angepasst. Hab jetzt die ganze Zeit damit rumgespielt
ob es auch wirklich klappt. Aber ich habe bis jetzt keine Fehlermeldung.
Echt klasse. Ich bin dir ja so dankbar Josef! Danke! Danke!
Lisa
Ich liebe dieses Forum!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige