Anzeige

Am Puls von Microsoft

Anzeige

Office 365 Makro aufgezeichnet - funzt nicht - per Hand schon

Bautzel

kennt sich schon aus
Hallo Allwissende :)

Es geht um eine Spenderliste für einen Kindergarten..

Ich habe eine Excel Arbeitsmappe mir 12 Blätter ( Monatsblätter )
Diese sehen immer gleich aus ( Name , Vorname, Adresse Betrag etc. )
Die Blätter heißen Januar,Februar etc.

Da im Sommer neue Kinder hinzu kommen wird dieses Arbeitsblatt dementsprechend erweitert.
Damit das auch Alphabetisch korrekt ist, werden die neuen Daten als letztes eingegeben und soll durch eine Schaltfläche ( wo das Macro mit verknüft ist ) dementsprechend einsortiert werden.

Dieses Macro habe ich über die Recorderfunktion aufgezeichnet ( Felder markiert dann Kontextmenü Sortieren nach A-Z dann klick ins offene Feld ) Aufzeichnung beendet. Namen vergeben etc.

Klappt aber nicht. Das Macro läuft beim Klick auf die Schaltfläche, sortiert aber nicht.

Wenn ich diesen, im Macro aufgezeichneten Weg per Hand ( ohne Macroaufzeichnung ) durchgehe, klappt die Einsortierung.

Warum???

Gruß
Jochen
 
Anzeige
Hallo,
vielleicht hast Du Dein Problem ja bereits gelöst? Falls nicht, wie hast Du denn die Befehlsschaltfläche angelegt? Du musst ein "Formularsteuerelement" nehmen, es wäre z.B. das Erste in der oberen Reihe. Woran erkennst Du, dass das Makro läuft? Erscheint beim anfahren des Steuerelements eine Hand? Nach Einfügen des Formularsteuerelement ging das Auswahlfenster auf und Du hast dein Makro richtig zugeordnet? Im Prinzip klingt alles Richtig, wie Du vorgegangen bist.
Gruß M@tt
 
Hallo M@tt,

hat sich leider nicht erledigt.

Das Macro incl. Steuerelement habe ich vor rund einem Jahr eingegeben. Hatte auch bisher so geklappt.
Unter "Schaltfläche - Macro zuweisen und dann passendes Macro bearbeiten kann ich auch im VB die zu sortierenden Zellen
(SetRange Range("A4:E47") prüfen.
Auch diese stimmen.
Das das Macro ausgeführt wird erkenne ich auch am kurzen aufblitzen.

Ich habe auch mal ein neues Macro aufgezeichnet, wo ich es so beendet habe das die ausgewählte Zellenfläche markiert bleibt.
So konnte ich auch erstmal die Funktion prüfen, wie auch den richtigen Bereich ( neue zu sortierenden Felder ( Vorname - Nachname Adresse etc. werden am Ende des Formulars eingegeben, das Macro soll diese korrekt nach Nachname sortieren ).

Bei der Macroaufzeichnung wird ja der Befehl korrekt ausgeführt = per Hand

Da die Macros der ganzen Mappe zur Verfügung steht, benötige ich pro Tabellenblatt ( Monatsblätter ) zur eine Schaltfläche.


Macro-VBA.jpg
 
Hallo Bautzel,
so ein aufgezeichnetes Makro schreibt viel mehr Befehle auf, als es eigentlich für die gewünschte Funktion benötigt. Versuche es mal mit dem Code auf meinem Screenshot, das sollte funktionieren.
Option Explicit
Sub Sortieren()
'Nach Nachnamen
Range("A1:d5").Sort Key1:=Range("A2"), Header:=xlYes
'oder nach Nachnamen und dann Vornamen (z.B. bei2xMüller)
'Range("A1:C6").Sort Key1:=Range("A2"), Key2:=Range("B2"), Header:=xlYes
End Sub
 

Anhänge

  • MakroSortieren.jpg
    MakroSortieren.jpg
    22,3 KB · Aufrufe: 45
  • MakroSortieren2.jpg
    MakroSortieren2.jpg
    20,9 KB · Aufrufe: 44
So, Lösung gab es keine.
Ich habe pro Monat ein neues Makro aufgezeichnet ( Daten_Sortieren_Januar ) usw.
Dann die jeweilige Schaltfläche im Monatsblatt verknüpft.
Dann läuft`s.
Vielleicht liegt es auch daran, das ich mit Office 365 im Kompatibilitätsmodus von Office 2013 arbeite und so auch speichern muss.
 
Anzeige
Oben