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

Grafik schrittweise alleine drehen

Grafik schrittweise alleine drehen
18.10.2019 17:25:20
Dieter(Drummer)
Guten Tag Spezialsiten/inen,
mit dem Makro wird die Grafik ("Group1"), mit Mausklick jeweils um 45 Grad gedreht. Das funktioniert.
Wie muss der Cod lauten, damit KEIN Folge-Klick notwendig ist, sondern mit Wartezeit einer Sekunde, jeweils eine weitere Drehung um 45 Grad erfolgt, bis zur Anfangsposition?
Mit der Bitte um Hilfe,
grüßt,
Dieter(Drummer)

Sub Group1_Rechts() 'Group1
Dim objShp As Shape
Set objShp = Sheets("Tabelle1").Shapes("Group1")
'Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 45
Set objShp = Nothing
End Sub

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik schrittweise alleine drehen
18.10.2019 17:30:01
Hajo_Zi
Hallo Dieter,
also kein Ende
Sub Group1_Rechts() 'Group1
Dim objShp As Shape
Set objShp = Sheets("Tabelle1").Shapes("Group1")
do
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 45
Loop
Set objShp = Nothing
End Sub


AW: Grafik schrittweise alleine drehen
18.10.2019 17:35:55
Dieter(Drummer)
Danke Hajo,
klappt schon recht gut. Nur es läuft dann endlos weiter. Es sollte aber NUR ein durchlauf sein, also nur bis wieder die Anfangsposition erreicht ist. Geht das auch?
Gruß, Dieter(Drummer)
AW: Grafik schrittweise alleine drehen
18.10.2019 17:37:41
Hajo_Zi
das Stans nicht im Beitrag
Sub Group1_Rechts() 'Group1
Dim objShp As Shape
Set objShp = Sheets("Tabelle1").Shapes("Group1")
objShp.Rotation = objShp.Rotation + 4
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 4
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 4
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 4
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
Set objShp = Nothing
End Sub
Gruß Hajo
Anzeige
AW: Grafik schrittweise alleine drehen
18.10.2019 17:40:12
Oberschlumpf
Hi HaJo,
Zitat aus Erstbeitrag: ...bis zur Anfangsposition
Hab ich sofort so interpretiert, dass einmal komplett drehen, dann ende.
Ciao
Thorsten
AW: Grafik schrittweise alleine drehen
18.10.2019 17:40:25
Dieter(Drummer)
Sorry Hajo,
es stand im Beitrag. Dennoch Danke für Deine Hilfe und es passt.
Gruß, Dieter(Drummer)
AW: Grafik schrittweise alleine drehen
18.10.2019 17:32:35
onur
Einfach die 2 eingerückten Zeilen in einer Schleife 8x hintereinander laufen lassen (vorher die .Wait-Zeile reaktivieren).
AW: Grafik schrittweise alleine drehen
18.10.2019 17:41:38
Dieter(Drummer)
Danke Onur,
klappt prima.
Gruß, Dieter(Drummer)
AW: Grafik schrittweise alleine drehen
18.10.2019 17:38:15
Oberschlumpf
hi Dieter,
versuch es so:
Sub Group1_Rechts() 'Group1
Dim objShp As Shape
Dim liDauer As Integer
Set objShp = Sheets("Tabelle1").Shapes("Group1")
Application.enableevents=false
For liDauer = 1 To 8
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 45
Next
Application.enableevents=true
Set objShp = Nothing
End Sub

Hilfts?
Ciao
Thorsten
Anzeige
AW: Grafik schrittweise alleine drehen
18.10.2019 17:43:49
Dieter(Drummer)
Danke Thorsten,
Deine Variante passt auch perfekt und klappt.
Danke und Gruß,
Dieter(Drummer)
AW: Grafik schrittweise alleine drehen
18.10.2019 18:14:55
Dieter(Drummer)
Hallo Thorsten,
hast Du eine Idee, warum bei 8 Durchläufen (bei 45 Grad), der 7. ausfällt.
Zum besseren Verständnis, hier eine Musterdatei: https://www.herber.de/bbs/user/132590.xlsm
Grß, Dieter(Drummer)
AW: Jetzt läuft es rund ...
18.10.2019 19:29:47
Dieter(Drummer)
Hallo Thorsten,
nach probieren läuft es jetzt korrekt, habe zusätzlich 3 Zeilen (Fett) eingefügt.
Danke für Deine Hilfe und
Gruß, Dieter(Drummer)
Jetziger Code:
'Kürzere Variante. Herber: von Oberschlumpf (Thorsten)am 18.10.2019 17:38:15
Sub Group1_Rechts_Thorsten() 'Group1
Dim objShp As Shape
Dim liDauer As Integer
Set objShp = Sheets("Tabelle1").Shapes("Group1")
Application.EnableEvents = False
For liDauer = 0 To 8 - 1 '8 nur bei 45 Grad Drehung
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
objShp.Rotation = objShp.Rotation + 45
Next
objShp.Rotation = objShp.Rotation - 45 'mx
Application.Wait (Now + TimeValue("00:00:01"))
objShp.Rotation = objShp.Rotation + 45 'mx
Application.EnableEvents = True
Set objShp = Nothing
End Sub

https://www.herber.de/bbs/user/132594.xlsm
Anzeige
AW: Grafik schrittweise alleine drehen
18.10.2019 17:51:32
Daniel
Hi
mit For-Schleife aus der Ausgangsstellung und zurück, wenn zum Startzeitpunkt keine Drehung eingestellt ist:
dim Grad as Long
for Grad = 0 to 360 Step 45
objShp.Rotation = Grad
Applicatioin.Wait ...
Next
gruß Daniel
AW: Grafik schrittweise alleine drehen
18.10.2019 18:02:45
Dieter(Drummer)
Danke Daniel,
für Deinen Hinweis und Teilcode.
Leider bin ich nicht so fit in VBA, um diesen richtig einzufügen. Evtl. könntest Du da nochmal behilflich sein.
Gruß, Dieter(Drummer)
AW: Grafik schrittweise alleine drehen
18.10.2019 18:06:18
Daniel
och Dieter, den anderen Code hast du doch auch hinbekommen und das ist ja nicht komplizierter.
du bist doch jetzt auch lang genug am Start um sowas alleine hinzubekommen.
Gib dir mal ein bisschen Mühe, sonst fange ich noch irgendwann an, Verständnis für robert und seine Meckereinen zu entwickeln.
Gruß Daniel
Anzeige
AW: Werde mich bemühen :-) owT
18.10.2019 18:08:54
Dieter(Drummer)
..endlich verstehst Du mich :-) owT
18.10.2019 18:09:12
robert
AW: Grafik schrittweise alleine drehen
18.10.2019 18:10:54
onur
Abgesehen davon: Wieviel funktionierende Versionen willst du denn noch?
AW: Grafik schrittweise alleine drehen
18.10.2019 18:18:04
Dieter(Drummer)
Hallo Onur,
es ist auch sehr interessant, welche Varianten möglich sind.
Ich versuche auch dazu zu lernen, wenn es auch mancher hier im Forum anders sieht.
Gruß, Dieter(Drummer)
AW: Dank an ALLE ...
18.10.2019 18:27:41
Dieter(Drummer)
... und werde alle Varianten Testen und versuchen, daraus zu lernen ;-).
Gruß und eine erfreulichen Abend,
Dieter(Drummer)
AW: Herzlichen Dank, nun geht auch Dein Code ...
19.10.2019 09:40:36
Dieter(Drummer)
Guten Morgen Daniel,
... nach einigem Experimentieren.
Folgendes musste ich wohl ändern:
1)

'objShp("Group1").Rotation = Grad

Zeile habe ich deaktiviert, da ein Fehler kommt, "Fehler 438, Objekt unterstützt die Eigenschaften oder Methode nicht".
2) Statt 360 (8 x 45 Grad) musste ich 315 (7 x 45 Grad) einsetzen, da sonst eine Drehung zuviel läuft und der Startpunkt einen zuweit geht.
Es klappt jetzt und hier der jetzige Code von Dir, mit meinen Anpassungen:
Sub Test_Daniel()
Dim Grad As Long
Dim objShp As Shape
Set objShp = Sheets("Tabelle1").Shapes("Group1")
For Grad = 0 To 315 Step 45
'objShp("Group1").Rotation = Grad 'Fehler 438, Objekt unterstützt die Eigenschfaten oder  _
Methode nicht
objShp.Rotation = objShp.Rotation + 45
Application.Wait (Now + TimeValue("00:00:01")) '1 Sek. Zeitverzögerung
Next
End Sub
Danke für Deine Hilfe und auch Anmerkung ;-).
Gruß, Dieter(Drummer)
Anzeige

209 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige