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

Objekte kopieren -- Namensveränderung

Objekte kopieren -- Namensveränderung
15.05.2008 11:57:00
Mommers
Hallo Freaks
wie kommt es (und wie kann man es verhindern) dass, wenn ich ein Tabellenblatt kopiere, in dem z.B. eine einfache Linie liegt (zb. Linie 100) diese Linie im kopierten Blatt auf einmal Linie 75 heißt !!!
Ich möchte möglichst im kopierten Blatt, dass alle Objekte den gleichen Namen (natürlich) behalten.
Selbst habe ich schon heraus bekommen, dass wenn man Linie 100 in z.B. Linie_1 umbenennt (im Namensfeld geht das ja) sie im kopierten Blatt weiter Linie_1 heisst. Ich will aber nicht jedes mal, wenn neue Objekte im Ursprungsblatt dazu kommen diese erst mühsam umbennen. Warum ändert Excel überhaupt beim kopieren diese Objekt-Namen ? Die Zelle A1 bleibt doch auch A1 !!!!
vielen Dank
W.Mommers

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objekte kopieren -- Namensveränderung
15.05.2008 12:19:41
Rudi
Hallo,
kann ich nicht nachvollziehen (XP)
Gruß
Rudi

AW: Objekte kopieren -- Namensveränderung
15.05.2008 13:03:03
Mommers
?

Alles nur Logik!
15.05.2008 13:09:39
rene
hallo,
beim kopieren ist es wie mit einer Perlenkette!
Fehlt eine Zahl (hier Linie) ordnet Excel diese automatisch wieder zu. Dies bedeutet, dass Du wahrscheinlich weniger Linien im eingefügtem Blatt hast!
Bei festen definierten Bereichen ("Linie_1") geht es nicht, da hier nichts auf die "Perlenkette" passt!
Hat auch was mit Speicher zu tun, da Excel sich nur die Anzahl der Linien merken muß! So können Byts gespart werden und so halt auch Speicherplatz. Kannst Du mal testen! Bennen mal 3-4 Linien in Deinem Format "Linie_1" um! Das Speichervolumen müsste zu nehmen!
A1 muss A1 bleiben, das ist ja die Grundlage von Excel.
lg rene

Anzeige
AW: Objekte kopieren -- Namensveränderung
15.05.2008 14:43:48
fcs
Hallo H.Mommers,
Es ist in der Tat so, dass Excel den Grafikobjekten, die den von Excel vergebenen Objektnamen haben, beim Kopieren der Blätter neue Zählnummern verpasst. Merkwürdigerweise ist das nicht immer so. Dabei werden dann die Lücken in den Zählnummern aufgefüllt, die durch das Löschen von Objekten entstanden sind. Die Zählung aller Shape-Objekte beginnt bei 1.
Der Hintergrund ist wahrscheinlich, dass der Nummernkreis der für Grafikobjekte vergeben werden kann/konnte begrenzt ist/wahr.
wie kommt es?
Weil die Programmierer von Microsoft es so wollen oder nicht anders können.
(und wie kann man es verhindern)
Indem man wie du schon bemerkt hast den Grafikelementen (Shapes) individuelle Nammen gibt.
Alternativ Kopieren des Tabellenblattes per Makro, dass dann im Nachlauf die Namen wieder abgleicht. Das geht, da die interne Zählnummer (Index-Nummer), die Excel den Objekten gibt, beim Kopiervorgang erhalten bleibt. Aber auch hier gibt es wieder mindestens eine Ausnahme (zumindest unter Excel 97): bei Elementen aus der Steuerelement-Toolbox funktioniert mein Makro nicht; diese Elemente bekommen Standardnamen.
Die Namen dieser Objekte kann man wahrscheinlich nur über den Objekt-Typ und die Caption-Eigenschaft abgleichen.
Gruß
Franz

Sub BlattKopie_mit_gleichen_ShapeNamen()
'Tabellenblatt kopieren mit identischen Shapenamen
Dim wksOrig As Worksheet, wksKopie As Worksheet, objShape As Shape
Set wksOrig = ActiveSheet
lngauswahl = MsgBox("Tabellenblatt in neue Arbeitsmappe kopieren?", _
vbYesNoCancel, "Tabellenblatt kopieren - identische Shape-Namen")
Select Case lngauswahl
Case vbCancel
GoTo Beenden
Case vbYes
wksOrig.Copy
Case vbNo
wksOrig.Copy after:=wksOrig
End Select
Set wksKopie = ActiveSheet
For Each objShape In wksKopie.Shapes
objShape.Name = wksOrig.Shapes(objShape.ZOrderPosition).Name
Next
Beenden:
Set objShape = Nothing: Set wksOrig = Nothing: Set wksKopie = Nothing
End Sub


Anzeige
AW: Objekte kopieren -- Namensveränderung
15.05.2008 15:06:00
Mommers
Hi Franz
das nenn ich mal ne super Antwort - 1. fürs Verständnis - 2. werd' ich das Makro mal ausprobieren
Danke vielmals

AW: Objekte kopieren -- Namensveränderung
15.05.2008 15:13:00
Mommers
Hi Franz
noch ne Nachfrage : wo muss ich denn was ändern, wenn ich nur das Tabellenblatt (in derselben Arbeitsamappe) kopieren will und nicht wie in deinem Makro eine neue Arbeitsmappe erzeugen will.
Danke Winfried

AW: Objekte kopieren -- Namensveränderung
15.05.2008 15:20:00
Rudi
Hallo,
nichts, auf NEIN klicken.
Gruß
Rudi

AW: Objekte kopieren -- Namensveränderung
15.05.2008 15:26:50
Mommers
joo - hätte man (ich) auch drauf kommen können - sorry

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige