Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Shapes gleichzeitig auswählen
#1
Diese Sub funktioniert nicht:
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1", "Rounded Rectangle 29" _
        , "Rounded Rectangle 31", "Rounded Rectangle 32", "Rounded Rectangle 33", _
        "Rounded Rectangle 34", "Rounded Rectangle 40", "Rounded Rectangle 39", _
        "Rounded Rectangle 38", "Rounded Rectangle 37", "Rounded Rectangle 36", _
        "Rounded Rectangle 35", "Rounded Rectangle 41", "Rounded Rectangle 42", _
        "Rounded Rectangle 43", "Rounded Rectangle 44", "Rounded Rectangle 45", _
        "Rounded Rectangle 46", "Rounded Rectangle 52", "Rounded Rectangle 51", _
        "Rounded Rectangle 50", "Rounded Rectangle 49", "Rounded Rectangle 48", _
        "Rounded Rectangle 47")).Select
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.Fill.Visible = msoFalse


Diese schon:
    ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.Fill.Visible = msoFalse
    ActiveSheet.Shapes.Range(Array("Rounded Rectangle 29")).Select
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.Fill.Visible = msoFalse


Also kannn ich die ganzen Rectangles nicht aufzählen und dann alle behandeln mit Line- und Fill Visible?

Beim 1. Beispiel wird Line Visible False gar nicht gesetzt.
Antworten Top
#2
Lies UNION.
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
Moin,

Wie immer: Verzichte auf die Hilfsobjekte und lass das Selektieren sein. Dann brauchst du auch kein ShapeRange Hilfsobjekt:
Code:
With Me.Shapes(Array("Rechteck 1","Rechteck 2","Rechteck 9"))
   .Fill.ForeColor.RGB = RGB(255,6,100)
End With

Viele Grüße
derHöpp

[Nachtrag:] "Funktioniert nicht" ist eine schlechte Fehlerbeschreibung, gewöhne dir bitte an, Fehlernummer und -meldung sowie erwartetes und erreichtes Ergebnis dazuzuschreiben.
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • o0Julia0o
Antworten Top
#4
(22.12.2022, 07:19)LCohen schrieb: Lies UNION.

VBEditor, F1

Application.Union Method 
Application.Union Method
Returns the union of two or more ranges

Alle Rechtecken:

Code:
Sub M_snb()
    For Each it In Sheet1.Shapes
      If instr(it.Name, "Rect") Then c00 = c00 & "_" & it.Name
    Next
   
    ActiveSheet.Shapes.Range(Split(Mid(c00, 2), "_")).Fill.ForeColor.RGB = RGB(0, 255, 0)
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • o0Julia0o
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste