Office: (Office 2010) Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen

Helfe beim Thema Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe eine etwas kniffigere Aufgabe, wo ich nicht weiß, wie ich am Besten heran gehen soll. Ich habe in einem Makro eine Art Bauroutine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von terry, 14. April 2015.

  1. terry Erfahrener User

    Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen


    Hallo,

    ich habe eine etwas kniffigere Aufgabe, wo ich nicht weiß, wie ich am Besten heran gehen soll.

    Ich habe in einem Makro eine Art Bauroutine für das grafische Design des Excel Sheets geschrieben, in welcher in bekannten Zellen gleichschenklige Dreiecke gezeichnet und mit einem Hyperlink versehen werden.

    Die Spalten, welche jeweils eines dieser Dreiecke beinhalten, werden via QuickSort (geht nicht anders) alphabetisch sortiert. Somit müsse auch die Hyperlinks "mitwandern". Dafür muss ich aber die entsprechenden Objekte "finden" und auswählen, ohne das dessen Bezeichnung bekannt ist.

    Meine Fragen daher:

    Wie stelle ich es codetechnisch an, dass ich

    A) die Objekte finde
    B) die gefundenen Objekte auswähle/selektiere
    C) den Hyperlinktext aus ihnen auslesen kann

    Ich hoffe mir kann hier einer der Profis helfen. Ich kenne einfach eine Vielzahl der Excel funktionen nicht.

    Vielen Dank im Voraus und bis dahin

    Terry
     
  2. Beverly
    Beverly Erfahrener User
    Hi Terry,

    woran erkennst du die Objekte - an ihrer Position im Tabellenblatt? Dann musst du in einer Schleife über alle Shapes im Tabellenblatt laufen und prüfen, ob TopLeftCell.Address mit der entsprechenden Zelladresse übereinstimmt.
    Mit "Hyperlinktext" meinst du die Quickinfo?

    Code:
    ActiveSheet.Shapes("Gleichschenkliges Dreieck 2").Hyperlink.ScreenTip
    Bis später,
    Karin
     
    Beverly, 16. April 2015
    #2
  3. terry Erfahrener User
    Huhu,

    ja ich kenne die Zellen, in welchen die Objekte vorhanden sind.

    Code:
    Function Find_Object(Zelle As Range) As Boolean
    For Each obj In Zelle.Worksheet.DrawingObjects
        If Not Intersect(Zelle, Range(obj.TopLeftCell, obj.BottomRightCell)) Is Nothing Then
            Find_Object = True
            Exit Function
        End If
    Next
    End Function
    
    Die Funktion gibt aber nur zurüc, ob ein Objekt in der übergebenen Zelle gefunden wurde, oder nicht. Ich muss aber (denke ich) das gefunde Objekt "auswählen", damit ich von diesem den Hyperlink Inhalt auslesen und danach durch einen Anderen ersetzen kann.
     
  4. Beverly
    Beverly Erfahrener User

    Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen

    Hi,

    wie du an die Informationen aus dem Hyperlink kommst hatte ich bereits geschrieben und ändern kann man diese nach demselben Prinzip - man muss dazu nichts selektieren.
    Ob du allerdings ScreenTip oder Address auslesen/ändern musst hängt davon an, wohin der Link führt.

    Bis später,
    Karin
     
    Beverly, 16. April 2015
    #4
  5. terry Erfahrener User
    Ich wüsste nicht, wie mir der Code weiterhelfen soll, da es der 2. vor dem 1. Schritt ist. Ich kenne die Bezeichnung des Objectes in der Zelle nicht und solange ich diese nicht kenne kann ich mit dem Objekt nicht arbeiten Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen :(.
     
  6. Beverly
    Beverly Erfahrener User
    Selbstverständlich musst du deine Function entsprechend anpassen, damit du das Objekt (warum nicht einfach Shape?) als Rückgabe erhältst

    Code:
    Sub HylinkAendern()
        Dim shaDreieck As Shape
        Set shaDreieck = Find_Object(Range("E3"))
        If Not shaDreieck Is Nothing Then
            With shaDreieck
                MsgBox shaDreieck.Hyperlink.Name
            End With
        Else
            MsgBox "Auf der Zelle liegt kein Dreieck"
        End If
    End Sub
    
    Function Find_Object(Zelle As Range) As Shape
        Dim shaShape As Shape
        For Each shaShape In ActiveSheet.Shapes
            If Not Intersect(Zelle, Range(shaShape.TopLeftCell, shaShape.BottomRightCell)) Is Nothing Then
                Set Find_Object = shaShape
                Exit Function
            End If
        Next
    End Function
    
    
    Bis später,
    Karin
     
    Beverly, 16. April 2015
    #6
  7. terry Erfahrener User
    Hey vielen Dank es funktioniert. Kannst du mir noch sagen, mit welchem Befehl ich dem Objekt einen neuen Hyperlink vergeben kann?
     
  8. Beverly
    Beverly Erfahrener User

    Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen

    Code:
        If Not shaDreieck Is Nothing Then
            ActiveSheet.Hyperlinks.Add Anchor:=shaDreieck, Address:="NeueAdresse"
        Else
            MsgBox "Auf der Zelle liegt kein Dreieck"
        End If
    
    
    
    

    Bis später,
    Karin
     
    Beverly, 16. April 2015
    #8
  9. terry Erfahrener User
    Genau das hatte ich probiert und der Compiler meckerte. Blöderweisehängt es jetzt wieder am ersten Teil.... ich schmeiß das Teil gleich aus dem Fenster. Dagegen ist C++ ja Kinderkram...

    Code:
    aFeld(lLauf, rLauf) = HylinkAendern(Range(lSpalte & lZeile), 0, "")
    In lSpalte steht zum Testzeitpunkt ein "O" und lZeile eine "16"

    Code:
    'Hyperlink der grafischen Objekte für Sortierung ändern
    Function HylinkAendern(ByVal Zelle As Range, Operator As Integer, HyperlinkText As String) As String
        Dim shaDreieck As Shape
        Set shaDreieck = Find_Object(Zelle)
        'Hyperlink lesen
        If Not shaDreieck Is Nothing Then
            If Operator = 0 Then
                With shaDreieck
                    HylinkAendern = shaDreieck.Hyperlink.Name
                End With
            End If
        Else
            MsgBox "Auf der Zelle liegt kein Dreieck"
        End If
        'Hyperlink schreiben
        If Not shaDreieck Is Nothing Then
            If Operator = 1 Then
                With shaDreieck
                      ActiveSheet.Hyperlinks.Add Anchor:=shaDreieck, Address:=HyperlinkText
                End With
            End If
        Else
            MsgBox "Auf der Zelle liegt kein Dreieck"
        End If
    End Function
    'grafisches Objekt in Zelle finden
    Function Find_Object(ByVal Zelle As Range) As Shape
        Dim shaShape As Shape
        For Each shaShape In ActiveSheet.Shapes
            If Not Intersect(Zelle, Range(shaShape.TopLeftCell, shaShape.BottomRightCell)) Is Nothing Then
                Set Find_Object = shaShape
                Exit Function
            End If
        Next
    End Function
    Komischerweise ist das übergebene Range immer "Leer"... Egal ob ich ein fixes Range übergebe -> immer "Leer" Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen :(
     
    Zuletzt bearbeitet: 16. April 2015
  10. Beverly
    Beverly Erfahrener User
    Was soll aFeld(lLauf, rLauf) sein?

    Bis später,
    Karin
     
    Beverly, 16. April 2015
    #10
  11. terry Erfahrener User
    Edit: Ich weiß nicht, wieso es nach einem Programmneustart nun geht, aber es funktioniert es. Das tat es auch anfänglich und dann auf einmal nicht mehr.

    ich danke Dir vielmals für deine Hilfe.
     
    Zuletzt bearbeitet: 16. April 2015
Thema:

Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen

Die Seite wird geladen...
  1. Mit Makro erzeugte Grafik in bekannter Zelle finden/auswählen - Similar Threads - Makro erzeugte Grafik

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  6. Makro Schaltflaechen vervielfaeltigen sich....

    in Microsoft Excel Hilfe
    Makro Schaltflaechen vervielfaeltigen sich....: Hallo Zusammen, ich habe eine Exceldatei, die seit ein paar Wochen sehr langsam zu öffnen und zu bearbeiten ist. Zuvor war sie ca. 8MB gross, was sich verdoppelt hat. Ich habe alle Zellen die...
  7. Seit Win 11 Zugriffsprobleme bei Excel über Makros

    in Microsoft Excel Hilfe
    Seit Win 11 Zugriffsprobleme bei Excel über Makros: Guten Tag! Ich habe vor einer Woche mein Windows 10 auf Windows 11 geupgraded, und seitdem habe ich extreme Schwierigkeiten mit meinem Excel. Mit Windows 10 funktionierte alles so, wie es sollte,...
  8. Makro erzeugt Sprechblasen und soll aber Punkte setzen

    in Microsoft Excel Hilfe
    Makro erzeugt Sprechblasen und soll aber Punkte setzen: Hallo liebe Leute, ich habe eine Vorlage mit einem Makro, das Postleitzahlen in geographische Punkte auf einer Deutschlandkarte übersetzen kann. Nur sind diese Punkte leider Sprechblasen, in...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden