Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

genaue Position eines Objektes bestimmen

genaue Position eines Objektes bestimmen
25.09.2007 16:04:36
Benni
Hallo Forum,
Ich habe ein Problem: ich möchte einen Pfeil, der bei Knopfdruck immer an dieselbe Stelle zurückgeht. Das geht leider nicht mit IncrementLeft und IncrementTop, da das zu ungenau ist (weitere Erklärung würde zu weit abschweifen), es muss eine genaue Positionsangabe sein, so wie wenn man ein Shape erstellt.
Zur Lösung dieses Problems dachte ich mir, lasse ich bei Knopfdruck jedes mal einen neuen Pfeil erstellen und lösche den alten. Das Problem ist, ich muss direkt auf den neu erstellten Pfeil zugreifen können und das kriege ich nicht hin. Ich dachte es ginge vielleicht so in der Richtung:
Dim Pfeil As Shape

Sub Pfeil_erstellen()
ActiveSheet.Shapes.AddShape(msoShapeLeftArrow, 260.25, 231#, 30.75, 9#). Select
Set Pfeil = Selection
End Sub



Sub Weiterverwendung()
Pfeil.IncrementLeft 30
End Sub


Das klappt aber leider nicht. ICh denke die Zeile Set PFeil = Selection ist das Problem. Weiß jemand Rat?
Ganz normal mit Set PFeil = ActiveSheet.Shapes("Autoform 1") geht es nicht, da ich die Nummer der Autoform nicht weiß, die ändert sich jedes mal (möchte den Knopf öfter drücken können).
Falls dieser relativ umständliche Weg nicht funktioniert steht immer noch die Frage im Raum, ob man den Pfeil nicht neu erstellen muss, sondern mit genauen Angaben (wie beim erstellen) verschieben kann. Ich finde dazu leider nichts.
Ich bin um jede Hilfe dankbar,
Gruß, Benni.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: genaue Position eines Objektes bestimmen
25.09.2007 16:21:19
Beverly
Hi Benni,
z.B. so
Option Explicit
Public Pfeil As Shape

Sub Pfeil_erstellen()
Set Pfeil = ActiveSheet.Shapes("Autoform 6")   ' Name anpassen
End Sub



Sub Weiterverwendung()
Pfeil.Left = 230.25
End Sub


________________________________________

AW: genaue Position eines Objektes bestimmen
25.09.2007 16:23:00
Rudi
Hallo,

Option Explicit
Public shpPfeil As Shape
Sub Pfeil_erstellen()
On Error Resume Next
shpPfeil.Delete
On Error GoTo 0
Set shpPfeil = ActiveSheet.Shapes.AddShape(msoShapeLeftArrow, 1, 1, 1, 1)
With shpPfeil
.Left = 200
.Top = 250
.Width = 30
.Height = 10
End With
End Sub
Sub Pfeil_positionieren()
With shpPfeil
.Left = 200
.Top = 250
.Width = 30
.Height = 10
End With
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: genaue Position eines Objektes bestimmen
25.09.2007 17:04:25
Benni
Hallo,
genau das was ich gebraucht habe, danke an alle.
Gruß, Benni.

AW: genaue Position eines Objektes bestimmen
25.09.2007 16:34:17
Wolli
Hallo Benni, weil ich's gerade gebastelt habe, auch von mir die Lösung:

Sub Makro1()
Dim pfeil As Rectangle
ActiveSheet.Shapes.AddShape(msoShapeLeftArrow, 151.5, _
296.25, 185.25, 144#).Select
Set pfeil = Selection
Debug.Print pfeil.Left
Debug.Print pfeil.Top
pfeil.Left = 11
pfeil.Top = 33
End Sub


Gruß, Wolli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige