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. Makro Zip-Datei von Webseite runterladen, auspacken, kopieren

    in Microsoft Excel Hilfe
    Makro Zip-Datei von Webseite runterladen, auspacken, kopieren: Hallo Zusammen, ich habe ein Makro gefunden von dem ich denke, dass es koennen sollte was ich braeuchte, eine Datei herunterladen, auspacken und den Inhalt in die Datei kopieren in der das Makro...
  3. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  4. Makro aus personal.xls starten

    in Microsoft Excel Hilfe
    Makro aus personal.xls starten: Auf einem Arbeitsblatt habe ich mehrere Buttons. Die zugehörigen Makros sind in personal.xls gespeichert. Aus dem Code-Editor heraus kann ich die Makros ohne Problem starten. auf dem Arbeitsblatt...
  5. Dokumente und Blatt umbenennen

    in Microsoft Word Hilfe
    Dokumente und Blatt umbenennen: Ich lade mir jeden Tag csv-Dateien von meiner Bank herunter. Diese sind mit Datum versehen, also die Datei selbst und das erste Blatt, z.B. "Konto_13.02.2024". Wenn ich ein Makro erstelle, in dem...
  6. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  7. Barcode Scanliste Makro anpassen

    in Microsoft Excel Hilfe
    Barcode Scanliste Makro anpassen: Hallo zusammen! Einer der Mitglieder hier hat mir eine Funktionsliste erstellt, mit der man Barcodes scannt und danach einen Wert über die Bildschirmtastatur eingibt. Die Barcodes hatten bisher...
  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