Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
876to880
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
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Shortcuts - Makro - Autoformen

Shortcuts - Makro - Autoformen
08.06.2007 12:25:00
seko
Hi :) !!!
Folgende Frage :
Kann man in Excel selbst shortcuts definieren und denen eine Aktion zuweisen. Ich nehme an, es müsste dann alles über Makros laufen, oder?
Ich arbeite VIIIEL mit Autoformen, muss diese oft gruppieren, auswählen und Gruppierung aufheben.
Wollte für diese Schritte Shortcuts erstellen - à la : strg+g (gruppieren), strg+shift+g (aufheben), strg+shift+a (Markierungswerkzeug - der Pfeil. Abwählen kann man ja mit Esc, also braucht man dafür keinen Shortcut).
hm..
Wenn ich das mit dem Recorder mache, kommt sowas raus:

Sub gruppieren()
' gruppieren Makro
' Makro am 08.06.2007 von SeKo aufgezeichnet
' Tastenkombination: Strg+g
ActiveSheet.Shapes("Oval 47").Select
ActiveSheet.Shapes.Range(Array("Oval 47", "AutoShape 48")).Select
Selection.ShapeRange.Group.Select
End Sub


das geht aber nicht, da das Makro dann bestimmte Formen auswählen muss.
Und einfach so : Selection.ShapeRange.Group.Select
wird ja nicht gehen oder?
Vielen herzlichen Dank
Gruß
SeKo

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shortcuts - Makro - Autoformen
08.06.2007 13:29:00
Rudi
Hallo,
für die Gruppierung:

Sub tt()
Dim myArray(), i
With ActiveSheet
ReDim myArray(1 To .Shapes.Count)
For i = 1 To .Shapes.Count
myArray(i) = .Shapes(i).Name
Next
.Shapes.Range(myArray).Group
End With
End Sub


und über Extras-Makro-Makros-Optionen eine Tastenkombi zuweisen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Shortcuts - Makro - Autoformen
08.06.2007 16:47:47
seko
Hi Rudi,
danke für deine Lösung.
Es klapt aber leider nicht. Anscheinend mache ich etwas falsch.
Ich packe deinen Code in den Editor,
speichere
gebe über Optionen vom Makro einen shortcut an (g),
speichere
wähle einige Objekte aus
drücke strg+g
Ein Laufzeitfehler kommt bei .Shapes.Range(myArray).Group
hm
Gruß
SeKo

Anzeige
aaaaaah... ok :) der gruppiert jetzt ALLE... AABER
08.06.2007 17:01:02
seko
Hi... habe gerade festgestellt, das das Makro nun alle Formen gruppiert, soll es aber nicht, nur die, die ausgewählt wurden.
Habe die Frage wohl nicht richtig formuliert.
Gruß
SeKo

AW: aaaaaah... ok :) der gruppiert jetzt ALLE... AABER
08.06.2007 18:43:17
Josef
Hallo Seko,
das geht auch einfacher.
Sub Gruppieren()

If TypeName(Selection) = "DrawingObjects" Then Selection.ShapeRange.Group

End Sub

Sub Gruppierung_aufheben()

If TypeName(Selection) = "GroupObject" Then Selection.ShapeRange.Ungroup

End Sub


Gruß Sepp

Anzeige
cool !!! :) und...
08.06.2007 19:03:05
seko
Hi, Sepp - du Genie, du...
Kann man auch das das Drücken auf den Pfeil "Objekte markieren" abfangen?
Mit dem Recorder gehts nicht. Allein das Drücken auf den Pfeil wird nicht aufgezeichnet.
Nur wenn man etwas auswählt - etwa : ActiveSheet.Shapes("AutoShape 3").Select...
Oder verlange ich da zu viel?
hm.
Ich bin zu 90% bereits glücklich :) Dies würde mir noch den Rest geben...
Danke im Voraus
SeKo

AW: cool !!! :) und...
08.06.2007 19:14:02
Josef
Hallo Seko,
was soll den Passieren wenn die Schaltfläche gedrückt wird?
Gruß Sepp

Anzeige
AW: cool !!! :) und...
08.06.2007 21:42:00
seko
hm... eigentlich gar nichts :) dann ist sie gedrückt :)))!
dann kann ich die Objekte gleich als Haufen auswählen. Das macht ja der Knopf. Ich bin aber mit der Tastatur schneller als mit der Maus.
Daher der Gedanke mit dem Shortcut. Drücke ich auf strg+shift+a, und schon bin ich in dem Auswahlmodus für Gruppenauswahl - so in etwa. (wenn ich wieder in den normalen Modus möchte drücke ich auf Esc oder doppelklicke in eine Zelle)
Ist aber egal - wenns nicht geht, dann gehts eben nicht :)
Gruß
SeKo

AW: cool !!! :) und...
08.06.2007 22:01:00
Josef
Hallo Seko,
geht schon, ich weiß aber nicht, ob ich dich richtig verstehe.
Probier mal diesen Code.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "+^A"
End Sub

Private Sub Workbook_Open()
Application.OnKey "+^A", "ShapesSelect"
End Sub

Gruß Sepp

Anzeige
Uups! da fehlt noch was ;-)))
08.06.2007 22:08:42
Josef
Hallo nochmal,
der Code war unvollständig.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "+^A"
End Sub

Private Sub Workbook_Open()
Application.OnKey "+^A", "ShapesSelect"
End Sub

' **********************************************************************
' Modul: Modul3 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub ShapesSelect()
Application.CommandBars.FindControl(ID:=3990).Execute
End Sub

Gruß Sepp

Anzeige
AW: Uups! da fehlt noch was ;-)))
08.06.2007 23:22:00
seko
wahnsinn - ich hoffe doch, du verdienst Geld damit :) Ein solch tiefgründiges Wissen... Respekt.
(ich mache anscheinend etwas falsch mit deinem Code)
Beim Module3 schimpft er in der Zeile : Application.CommandBars.FindControl(ID:=3990).Execute
Findet er vielleicht die ID nicht? hm

GEFUNDEN!!! :) DANKE!!!
08.06.2007 23:49:56
seko
Hi Sepp, mein Bester!!!
Ich habe die Liste gefunden mit dem IDs. Gabs bei Herber sogar. https://www.herber.de/bbs/user/342.xls
Die ID ist 182. Nun klappt alles so wie ich es haben wollte.
VIIELEn VIIIELEn DANK !!!!!
Gruß aus Hamburg
SeKo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige