Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Neuen Button nicht auf dem ersten

Forumthread: Neuen Button nicht auf dem ersten

Neuen Button nicht auf dem ersten
09.06.2016 16:35:48
Dieter(Drummer)
Guten Tag, VBA Experten,
mit folgendem Makro wird ein roter Button in der aktiven Tabelle erzeugt. Bei erneutem Aufruf des Makros wird wieder ein Button erzeugt, der DIREKT auf dem vorherigen liegt.
Was muss am Makro anders sein, damit bei neuem Aufruf, der neue Button nicht auf dem vorherigen liegt, sondern versetzt erscheint?
Danke für evtl.Lösung und Hilfe.
Gruß, Dieter(Drummer)
Musterdatei mit Makro (Aufruf mit String+b) anbei:
https://www.herber.de/bbs/user/106121.xlsm
'Mx: Alle Shapes werden Nummeriert
  • 
    Sub ButtonRotNeu()
    Application.Speech.Speak ("Es wird ein neuer roter Button erzeugt. Beim zweiten Aufruf  _
    liegt der neue Button auf dem ersten")
    ActiveSheet.Shapes.AddShape(msoShapeOval, 27.75, 15.75, 14.25, 12.75).Select
    With Selection.ShapeRange.Fill
    .Visible = msoTrue
    .ForeColor.RGB = RGB(255, 0, 0)
    .Transparency = 0
    .Solid
    End With
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .Weight = 1
    End With
    Selection.ShapeRange.Shadow.Type = msoShadow21
    Selection.ShapeRange.Width = 11.3385826772
    Range("A4").Select
    End Sub
    


  • Anzeige

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Neuen Button nicht auf dem ersten
    09.06.2016 17:09:08
    Mullit
    Hallo,
    verzichte am besten immer auf die Selektiererei, dann im Prinzip so:
    Option Explicit
    
    Public Sub test()
    Dim sngShapeTop As Single
    With ActiveSheet.Shapes
        If .Count = 0 Then
           sngShapeTop = 15.75
        Else
          With ActiveSheet.Shapes(.Count)
              sngShapeTop = .Top + .Height + 10!
          End With
        End If
        With .AddShape(Type:=msoShapeOval, Left:=27.75, _
           Top:=sngShapeTop, Width:=11.3385826772, Height:=12.75)
            With .Fill
                .Visible = msoTrue
                .ForeColor.RGB = RGB(255, 0, 0)
                .Transparency = 0
                .Solid
            End With
            With .Line
                .Visible = msoTrue
                .Weight = 1
            End With
            .Shadow.Type = msoShadow21
        End With
    End With
    End Sub


    VBA/HTML - CodeConverter für Office-Foren
    AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
    Projektbetreuung durch mumpel



    Code erstellt und getestet in Office 12

    Gruß, Mullit

    Anzeige
    AW: Danke Mullit, prima Lösung ...
    09.06.2016 17:12:45
    Dieter(Drummer)
    ... und funktioniert perfekt.
    Gruß und noch einen schönen Abend,
    Dieter(Drummer)

    alles klar, prima und ebenso... owT
    09.06.2016 17:23:10
    Mullit
    ;

    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