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

Makroaufzeichung vereinfachen??

Makroaufzeichung vereinfachen?
14.08.2005 19:06:04
Harry
Hallo zusammen,
mit beigefügter Tabelle habe ich (mit Hilfe eines Forumskollegen) ein Kalkulationsblatt entwickelt. In Spalte C habe ich Schaltflächen, die eine einfache Copy and Paste-Funktion ausführen. Da ich von VBA keine Ahnung habe, hab ich mit dem Makrorecorder aufgezeichnet. Für die Zeilen 8 und 9 ist das bereits geschehen.
Nun mein Problem: Meine Tabelle hat 157 Zeilen. Da müßte ich jetzt noch rund 150 mal eine Schaltfläche einrichten und das Makro aufzeichnen.
Das geht doch sicher auch effizienter?
(Ich wollte mit der normalen Kopierfunktion die Schaltflächen verfielfachen, leider schaffe ich damit keine neuen, sondern halt nur Kopien, hier Schaltfläche 27 und 34).
Kann mir jemand helfen?
Viele Grüße
Harry
https://www.herber.de/bbs/user/25624.xls

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

Betreff
Datum
Anwender
Anzeige
AW: Makroaufzeichung vereinfachen?
14.08.2005 19:24:16
Reinhard
Hi Harry,
benenne die Schaltfflächen
T8:AA8
T9:AA9
T10:AA10
usw
und weise allen das gleiche Makro zu.

Sub EinCodeFürAlle()
Range("T7:AA7").Copy
Range(Application.Caller).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select
End Sub

Gruß
Reinhard
AW: Makroaufzeichung vereinfachen?
14.08.2005 20:28:25
Harry
Hallo Reinhard,
danke für die schnelle Antwort!
Leider weiß ich nicht, wie ich die Schaltflächen umbenennen soll, es gibt kein Namensfeld. Du meinst ja sicher nicht den Text der auf der Schaltfläche steht.
Liegt es daran, dass sie vom Typ Ansicht Symbolleisten Formular sind. (Ich habe diese Sorte genommen, weil ich da mit dem Recorder aufzeichnen kann).
Oder muss ich alle Schaltflächen nochmal löschen und neu einrichten?
Viele Grüße
Harry
Anzeige
AW: Makroaufzeichung vereinfachen?
14.08.2005 22:03:46
Matthias
Hallo Harry,
na, bist ja schon ein Stück weiter gekommen ;-)
Du brauchst eigentlich nur 2 Makros. Mit dem ersten weist du allen Schaltflächen auf dem Blatt das Makro "Uebertragen" zu:

Sub Makros_Zuordnen()
Dim i As Integer
Dim Sh As Shape
For Each Sh In Sheets("Kalkulation").Shapes
If Sh.Type = 8 Then
Sh.OnAction = "Uebertragen"
End If
Next Sh
End Sub

Und das Makro "Uebertragen" liest die Zelle aus, die unter der angeklickten Schltfläche liegt, ermittelt deren Zeile und kopiert die Werte entsprechend:

Sub Uebertragen()
Dim zeile As Long
zeile = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Range("T7:AA7").Copy Range("T" & zeile & ":AA" & zeile)
End Sub

Gruß Matthias
Anzeige
AW: Makroaufzeichung vereinfachen?
14.08.2005 23:22:05
Reinhard
hi Harry,

Sub EinmaligDurchführen()
Dim bild As Shape
z = 8
For Each bild In ActiveSheet.Shapes
bild.name = "T" & z & ": AA" & z
z = z + 1
Next bild
End Sub


Sub EinCodeFürAlle()
Range("T7:AA7").Copy
Range(Application.Caller).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select
End Sub

Gruß
Reinhard
AW: Makroaufzeichung vereinfachen?
15.08.2005 19:58:21
Harry
Hallo Reinhardt, hallo Matthias,
vielen Dank für Eure schnellen Antworten. Leider komme ich heute nicht mehr dazu, die Vorschläge auszuprobieren, bin mir aber sicher, dass beide gut funktionieren werden.
Bis bald!
Harry
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige