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

Automatische Sortierung

Automatische Sortierung
21.09.2022 14:36:17
Raphael
Hallo zusammen,
da ich hier schon einige Hilfestellungen erhalten habe, hoffe ich auch hier eine Lösung für mein Problem zu finden. Ich habe eine Excel Datei mit mehreren Mappen. Ich konnte bereits ein funktionierendes Makro implementieren um in einer intelligenten Tabelle eine Sortierung nach der Eingabe anzustoßen.
Nun würde ich dieses Makro gerne auf die gesamte Datei ausweiten, sodass bei jeder Änderung in der jeweiligen Mappe das Makro ausgeführt wird. Leider komme ich genau an dieser Stelle nicht weiter. Nachfolgend mein funktionierender Code:
_____________________________________________________________

Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfen, ob Datum verändert wurde
If Not Intersect(Target, Range("Tabelle1[Datum]")) Is Nothing Then
'Variable dimensionieren
Dim Datum As Date
'Bestand merken
Datum = Target.Value
'Sortieren
Range("Tabelle1").Sort Key1:=Range("Tabelle1[Datum]"), order1:=xlAscending, Header:=xlYes
'Bestand suchen
Range("F:F").Find(what:=Datum).Activate
End If
End Sub
_______________________________________________________
Wenn ich dieses Makro nun ins Workbooksheetchange verlagere, funktioniert der Code nur für Tabelle 1, da alle weiteren Tabellen nicht die Bezeichnung Tabelle1 haben.
Wie muss ich nachfolgenden Code anpassen, dass alle Tabellen in der Datei berücksichtigt werden? Ich habe es bereits mit listobject versucht, konnte hier jedoch keinen Fortschritt erzielen:
___________________________________________________________

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Prüfen, ob Datum verändert wurde
If Not Intersect(Target, Range("Tabelle1[Datum]")) Is Nothing Then
'Variable dimensionieren
Dim Datum As Date
'Bestand merken
Datum = Target.Value
'Sortieren
Range("Tabelle1").Sort Key1:=Range("Tabelle1[Datum]"), order1:=xlAscending, Header:=xlYes
'Bestand suchen
Range("F:F").Find(what:=Datum).Activate
End If
End Sub
_____________________________________________________
Ich bedanke mich im Voraus für eure Hilfe.
LG Raphael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Sortierung
21.09.2022 15:54:50
ralf_b
na mal eben das Forum gewechselt? Du bist also öfter hier und kennst das mit dem Crossposting sicher schon. Also warum ignorierst du diese Regeln?
Vor einer Stunde habe ich dir den Listobjects link gegeben. Es wäre ein Traum wenn man nach ner Stunde sich mit dem vorher unbekannten Thema auskennen würde und was Brauchbares abliefern könnte.
Hier meine Lösung für dich . Mach was draus

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Prüfen, ob Datum verändert wurde
If Not Intersect(Target, Sh.ListObjects(1).xxxxxxxxxxxxxxxxxxxxxx) Is Nothing Then
'Variable dimensionieren
Dim Datum As Date
'Bestand merken
Datum = Target.Value
'Sortieren
With Sh.ListObjects(1)
.Sort.xxxxxxx
.Sort.SortFields.Add2 Key:=.xxxxxxxxxxxxxxxxx, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Bestand suchen
.ListColumxxxxxxxxxxxxx.Find(what:=Datum).Activate
End With
End If

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige