Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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

Verschiedene Shapenamen

Verschiedene Shapenamen
04.10.2008 13:01:43
Burghard
Hallo,
ich habe ein kleines Problem mit dem Ausrichten von Grafiken in einer Zelle.
Nachfolgendes Makro funktioniert zwar, doch wenn ich eine andere neue Grafik in die Zelle einfüge, bekommt sie eine neue Nummer (also dann "Picture 2" etc., so dass das Makro dann nicht mehr läuft.
Wie kann man das umgehen, so dass das Makro auch bei verschiedenen Namen/Nummern läuft? Den Shapenamen in eine Variable einlesen oder gibt es noch eine bessere Lösung?

Sub Grafik_ausrichten()
ActiveSheet.Shapes("Picture 1").Select
Selection.ShapeRange.IncrementTop 124.5
Selection.ShapeRange.IncrementLeft 15#
Range("A1").Select
End Sub


Hilfe wäre nett.
Schönen Gruß
Burghard

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschiedene Shapenamen
04.10.2008 13:24:00
Uwe
Hi Burghard,
bin zwar auch kein Speziallist, aber ich denke, wenn Du
ActiveSheet.Shapes(1)
benutzt, klappt es, solange nur ein Shape in der Tabelle ist.
Mit:

Sub Grafik_ausrichten()
Dim I As Integer
Dim intAnzahl As Integer
intAnzahl = ActiveSheet.Shapes.Count
For I = 1 To intAnzahl
With ActiveSheet.Shapes(I)
.IncrementTop 124.5
.IncrementLeft 15#
End With
Next
Range("A1").Select
End Sub


würdest Du auf alle Shapes zugreifen, aber das macht wahrscheinlich keinen Sinn.
Gruß
Uwe
(:o)

AW: Verschiedene Shapenamen
04.10.2008 13:42:00
ransi
Hallo Burghard
Versuch mal dies:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Sub machs()
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
    If sh.TopLeftCell = Range("A1") Then Exit For
Next
If Not sh Is Nothing Then
    ' MsgBox sh.Name
    sh.IncrementTop 124
    sh.IncrementLeft 15
End If
End Sub

Der Code sucht sich das richtige Shape abhängig von der Zelle selber raus..
ransi
Anzeige
AW: Klappt!
04.10.2008 13:59:00
Burghard
Hallo Ransi,
vielen Dank für Deine Hilfe/Lösung. Klappt super!
Schönen Dank und Gruß
Burghard
AW: Verschiedene Shapenamen
04.10.2008 14:13:05
Uwe
Hi ransi,
tolle Lösung. Habe sie gleich in mein Archiv aufgenommen.
Gruß
Uwe
(:o)
AW: Klappt!
04.10.2008 13:58:41
Burghard
Hallo Uwe,
vielen Dank für Deine Hilfe/Lösung. Klappt!
Die allgemeine Lösung von Ransi ist aber noch ein bißchen flexibler.
Schönen Dank und Gruß
Burghard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige