Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shapes nach rechts setzen

Shapes nach rechts setzen
26.12.2012 10:41:42
Dieter(Drummer)
Hi VBA Spezialisten,
erstmal einen schönen 2. Weihnachtstag.
Ich möchte per VBA Shapes in Spalte B nach rechts in Spalte B verschieben. Beginn in B2 bis B1097, also 1096 Shapes. So habe ich es mal begonnen:
Sub ShapesRechts()
Selection.ShapeRange.IncrementLeft 11.25
End Sub
Es sollen aber ALLE verschoben werden, ohne sie vorher manuell markieren zu müssen.
Hier fehlt mir die Möglichkiet, dies per Schleife zu automatisieren.
Für eine Lösung vielen Dank und für's drum kümmern.
Gruß, Dieter(Drummer)

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes nach rechts setzen
26.12.2012 11:07:06
ransi
HAllo Dieter
Quick and dirty ;-)
DrawingObjects.Select
Selection.ShapeRange.IncrementLeft 11.25

ransi

AW: Shapes nach rechts setzen
26.12.2012 11:12:22
Beverly
Hi Dieter,
versuche es mal so:
Sub Versetzen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.TopLeftCell.Column = 2 And shaShape.TopLeftCell.Row > 1 _
Then shaShape.Left = shaShape.Left + 11.25
Next shaShape
End Sub


Anzeige
AW: Danke Ransi und Beverly (Karin)
26.12.2012 11:23:31
Dieter(Drummer)
... habe mich für Lösung von Karin entschieden, die perfekt funktioniert. Ich nutze dies, da ich alle Shapes in Excel 2010 mit Shape, ID und Bezeichnung in einem Tabellenblatt gelistet habe. So kann ich z.B. in einem Commandbutton ein Druckersymbol einfügen.
Herzlichen Dank an euch Beide und noch einen schönen Weihnachtstag.
Mit Gruß, Dieter(Drummer)

AW: Shapes vergrößern
26.12.2012 11:49:00
Dieter(Drummer)
Hi Karin,
wie füge ich noch die Vergrößerung aller Shapes in dein Makro ein?. Größe wäre so, aber es läuft nicht durch:
Sub ShapeVersetzen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.TopLeftCell.Column = 2 And shaShape.TopLeftCell.Row > 1 _
Then shaShape.Left = shaShape.Left + 11.25
Selection.ShapeRange.Height = 14.1732283465
Next shaShape
End Sub
Hier bleibt das Makro hängen:
Selection.ShapeRange.Height = 14.1732283465
Wie muss ich es anpassen? Danke für deine Hilfe.
Gruß, Dieter(Drummer)

Anzeige
AW: Shapes vergrößern
26.12.2012 11:52:14
Hajo_Zi
Hallo Dieter,
Du wählst nichts aus. Vielleicht so?
shaShap.ShapeRange.Height = 14.1732283465
Gruß Hajo

AW: Shapes vergrößern
26.12.2012 12:06:40
Dieter(Drummer)
Hi Hajo,
Danke für schnelle Rückmeldung. So wie ich es jetz eingefügt habe,
Sub ShapeVersetzen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.TopLeftCell.Column = 1 And shaShape.TopLeftCell.Row > 1 _
Then shaShape.Left = shaShape.Left + 11.25
shaShape.ShapeRange.Height = 14.1732283465
Next shaShape
End Sub
kommt eine Fehlerhinweis: "Objekt unterstützt Eigenschaften oder Methode nicht".
Was mach ich falsch?
Gruß Dieter(Drummer)

Anzeige
AW: Shapes vergrößern
26.12.2012 12:07:59
Hajo_Zi
Hallo dieter,
ich kann es nicht testen. entferne .ShapeRange
Gruß Hajo

AW: Danke Hajo, das war's ...
26.12.2012 12:16:00
Dieter(Drummer)
... war der richtige Tipp! Noch einen schönen Tag und
Gruß, Dieter(Drummer)
PS Jetzt richtiger Code:
Sub ShapeVersetzen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.TopLeftCell.Column = 1 And shaShape.TopLeftCell.Row > 1 _
Then shaShape.Left = shaShape.Left + 11.25
shaShape.Height = 14.1732283465
Next shaShape
End Sub

Anzeige
AW: Danke Hajo, das war's ...
26.12.2012 12:26:58
Hajo_Zi
Hallo Dieter,
der Code ist falsch. Dies soll ja auch in Spalte B passieren?
Sub ShapeVersetzen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.TopLeftCell.Column = 1 And shaShape.TopLeftCell.Row > 1 _
Then
shaShape.Left = shaShape.Left + 11.25
shaShape.Height = 14.1732283465
end if
Next shaShape
End Sub

Gruß  _
Hajo

AW: Danke Hajo, hatte es auf Column = 1
26.12.2012 12:51:44
Dieter(Drummer)
... geändert.
Danke für Hinweis und Gruß, Dieter(Drummer)

Anzeige
AW: Shapes vergrößern
26.12.2012 12:13:36
Beverly
Hi Dieter,
genau wie du die Position angegeben hast, nur dass du in diesem Fall die Höhe - also Height benutzt:
If shaShape.TopLeftCell.Column = 2 And shaShape.TopLeftCell.Row > 1 Then
shaShape.Left = shaShape.Left + 11.25
shaShape.Height = 14.1732283465
End If


AW: Auch dir Karin, herzlichen Dank ...
26.12.2012 12:17:47
Dieter(Drummer)
... für unermüdliche Hilfe!
Lieben Gruß und einen schönen Tag,
Dieter(Drummer)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige