Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Name eines OBJEKTes ermitteln

Forumthread: Name eines OBJEKTes ermitteln

Name eines OBJEKTes ermitteln
25.01.2013 18:09:21
Alter
Hallo Leute,
ich habe in einer Mappe mehrere gleiche Grafikobjekte (Kreise).
Alle sind mit dem gleichen Makro verknüpft, sollen aber je nach Lage auf dem Blatt unterschiedliches bewirken.
Mit welchem Makrobefehl erhalte ich den Namen des angeklickten objektes?
Für alle Objekte eine eigene Sprungmaske setzten geht nicht, es sind zuviele und ab und an kommen welche dazu oder werden gelöscht. Dann müsste immer der Makrocode angepasst werden.
Die Funktion OBJEKTE.ZUORDNEN(4;"objektname") liefert mir zwar die Position des angeklickten Objektes, aber auch nur, wenn ich vorher schon den Objektnamen kenne. Und den sollte ich auslesen können.
In keinem meiner Excel-Makro-Bücher, Google oder hier im Forum konnte ich etwas passendes finden.
Bitte nur Lösungen mit Excel4.0-Befehlen anbieten, ich habe von VBA keine Ahnung und mein Programm ist noch in 4.0 programmiert.
Vielen Dank

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Name eines OBJEKTes ermitteln
25.01.2013 18:20:48
Hajo_Zi
versuche es mit Application.caller.

Xl4MakroSprache? Dann nutzt dir ...
25.01.2013 18:36:28
Luc:-?
…Hajos AW wenig, AS,
denn das ist VBA! Bezweifle auch, dass sich jemand noch mit 20 Jahre altem Zeugs beschäftigen möchte… :-]
Gruß Luc :-?

Anzeige
AW: Name eines OBJEKTes ermitteln
25.01.2013 20:59:43
fcs
Hallo Alter Sachse,
ich hab mal in einem schon etwas verstaubten -aber noch lesbaren- Buch zu Excel 4.0-Makros gestöbert.
Wenn ich das richtig verstanden hab, dann hast du folgende Optionen:
1. Du läßt den Namen-Paramter weg.
Dann sollte die Information zum aktuell angeklickten Objekt ermittelt werden.
=OBJEKT.ZUORDNEN(4)
2. Du verwendest als Parameter URSPRUNG()
Leider liefert mein Büchlein keine Angaben, welche Informationen zu Objekten zurückgegeben werden.
=OBJEKT.ZUORDNEN(4;URSPRUNG())
Eine weitere Option, um an Angaben zum ausgewählten Objekt zu kommen, ist der Befehl AUSWAHL(). Dieser sollte den Zellbezug oder bei Objekten den Namen der aktuellen Auswahl zurückgeben.
=OBJEKT.ZUORDNEN(4;AUSWAHL())
Evtl. funktioniert dein Makro ja mit einer der Varianten. Für mich liegt die Programmierung von Makrotabellenblättern mindestens 15 Jahre zurück. Da ist fast 0 von hängen geblieben, da mein persönlicher Speicher mit Excel95 komplett durch VBA überschrieben wurde.
Gruß
Franz

Anzeige
AW: Name eines OBJEKTes ermitteln
25.01.2013 22:01:01
Alter
Hallo Franz,
vielen Dank für Deine Mühe, die Variante 2 mit dem "URSPRUNG"-Befehl funktioniert, liefert aber bei allen Objekten den gleichen Bezug, und zwar den des Originalobjektes.
Alle anderen Objekte wurden aus dem Original kopiert und besitzen nun den gleichen Namen.
Da muss ich wohl jedem Objekt einen eigenen Namen geben, dass kann dauern bei über 900 Objekten.
Wäre toll, wenn OBJEKTE.ZUORDNEN(4;..) sich auf das angeklickte Objekt beziehen würde, also ohne Angabe des Objektnamens.
Trotzdem vielen Dank
Thomas

Anzeige
AW: Name eines OBJEKTes ermitteln
25.01.2013 23:49:53
fcs
Hallo Thomas,
versuche in einer Kope deiner Datei mal die Objekte mit folgendem Makro umzubenennen. Evtl. funktioniert dann ja dein Alt-Makro.
Gruß
Franz
Sub Shapes_Neu_Nummerieren()
Dim wks As Worksheet, objShape As Shape, iCount As Integer
Dim strAlt As String, strNeu As String
Set wks = ActiveSheet
iCount = 0
For Each objShape In wks.Shapes
strAlt = objShape.Name
If MsgBox("Alter Name: " & strAlt, vbOKCancel, _
"Shapes umbenennen") = vbCancel Then Exit For 'Testzeile
If Left(objShape.Name, 5) = "Kreis" Then
iCount = iCount + 1
strNeu = "Kreis_neu " & Format(iCount, "0")
If MsgBox("Alter Name: " & strAlt & vbLf & "Neuer Name: " & strNeu, vbOKCancel, _
"Shapes umbenennen") = vbCancel Then Exit For 'Testzeile
objShape.Name = strNeu
End If
Next
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Name eines OBJEKTes ermitteln in Excel


Schritt-für-Schritt-Anleitung

Um den Namen eines Grafikobjektes in Excel 4.0 zu ermitteln, kannst Du folgende Schritte befolgen:

  1. Verwende die Funktion OBJEKTE.ZUORDNEN: Diese Funktion ermöglicht es, Informationen über das angeklickte Objekt zu erhalten. Der Befehl lautet:

    =OBJEKT.ZUORDNEN(4)

    Damit erhältst Du Informationen über das aktuell angeklickte Objekt.

  2. Alternativ mit URSPRUNG(): Um spezifische Details zu einem Objekt zu erhalten, kannst Du auch den URSPRUNG()-Befehl verwenden:

    =OBJEKT.ZUORDNEN(4;URSPRUNG())
  3. Verwende AUSWAHL() für Objekt-Namen: Diese Funktion gibt Dir den Namen des aktuell ausgewählten Objektes zurück:

    =OBJEKT.ZUORDNEN(4;AUSWAHL())

Häufige Fehler und Lösungen

  • Fehler: Alle Objekte haben denselben Namen: Wenn Du mehrere Objekte aus einem Original kopiert hast, haben alle Objekte den gleichen Namen. Es ist notwendig, jedem Objekt einen individuellen Namen zu geben. Verwende dazu ein Makro, um die Namen automatisch zu ändern.

  • Lösung: Makro zum Umbenennen von Objekten:

    Sub Shapes_Neu_Nummerieren()
       Dim wks As Worksheet, objShape As Shape, iCount As Integer
       Dim strAlt As String, strNeu As String
       Set wks = ActiveSheet
       iCount = 0
       For Each objShape In wks.Shapes
           strAlt = objShape.Name
           If Left(objShape.Name, 5) = "Kreis" Then
               iCount = iCount + 1
               strNeu = "Kreis_neu " & Format(iCount, "0")
               objShape.Name = strNeu
           End If
       Next
    End Sub

Alternative Methoden

Wenn Du die Namen von Excel-Objekten anzeigen möchtest, kannst Du auch die folgenden Methoden in Betracht ziehen:

  1. VBA verwenden: Wenn Du doch bereit bist, VBA zu lernen, kannst Du mit Application.Caller den Namen des angeklickten Objektes ermitteln. Dies ist eine direktere Methode, erfordert jedoch grundlegende Kenntnisse in VBA.

  2. Excel 4.0-Befehle: Bleibe bei den Excel 4.0-Befehlen, um die Kompatibilität mit älteren Versionen zu wahren. Die oben genannten Funktionen sind ideal, um Excel-Objekte anzuzeigen und deren Namen zu ermitteln.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die oben genannten Funktionen in Aktion nutzen kannst:

  • Beispiel 1: Um den Namen des angeklickten Objektes direkt in einer Zelle anzuzeigen, verwende:

    =OBJEKT.ZUORDNEN(4)
  • Beispiel 2: Um den Namen und die Position des angeklickten Objektes abzufragen:

    =OBJEKT.ZUORDNEN(4;URSPRUNG())

Diese Beispiele helfen Dir dabei, die Interaktivität mit Objekten in Deiner Excel-Datei zu verbessern.


Tipps für Profis

  • Regelmäßige Benennung: Stelle sicher, dass Du bei der Erstellung von Objekten eine konsistente Benennungsstrategie verwendest. Dies erleichtert das Auffinden und die Verwaltung von Objekten in großen Dateien.

  • Verwende Kommentare: Füge Kommentare in Deine Makros ein, um die Funktionsweise zu dokumentieren. Dies ist besonders hilfreich, wenn Du oder jemand anderes später die Datei bearbeitet.

  • Sichere die Originaldatei: Bevor Du Makros ausführst oder umfangreiche Änderungen vornimmst, erstelle immer eine Sicherungskopie der Originaldatei.


FAQ: Häufige Fragen

1. Wie kann ich alle Grafikobjekte in einem Arbeitsblatt auflisten? Du kannst ein VBA-Makro schreiben, das alle Objektnamen in eine Liste auf einem neuen Arbeitsblatt einfügt.

2. Funktionieren diese Befehle auch in neueren Excel-Versionen? Ja, die Excel 4.0-Befehle sind auch in neueren Versionen von Excel verfügbar, jedoch könnte die Verwendung von VBA in diesen Versionen einfacher sein.

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