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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] 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, 08: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