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

Aktivierte Zelle nach ABC-Sortierung

Aktivierte Zelle nach ABC-Sortierung
18.08.2015 11:04:17
Marco
Hallo,
ich habe ein Problem.
In Spalte C sollen ab Zeile 15 zukünftig mehr als 500 Namen stehen.
Spalte C Nachname, Spalte D Vorname
Per Makro wird ein neuer Eintrag in der ersten freien Zelle bei Nachname in Spalte C, z.B. in Zeile 450 nach der Eingabetaste sofort alphabetisch sortiert. So würde ein Nachname der mit "A" beginnt automatisch ganz nach oben rutschen.
Die aktivierte Zelle bleibt dann aber leider in Zeile 451. Jetzt müsste ich wieder manuell ganz nach oben scrollen, den Namen suchen und kann dann erst den Vornamen eingeben.
Gibt es eine Möglichkeit, dass die aktivierte Zelle nach der alphabetischen Sortierung auch quasi mitgenommen wird und nicht unten bleibt?
Ich habe von Makros und VBA so gut wie keine Ahnung und tüftel mir alles per Google und solchen Foren zusammen.
Die Datei habe ich angehängt.
https://www.herber.de/bbs/uder/99662.xls
Über Hilfe würde ich mich sehr freuen.
Gruß MArco

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 11:26:50
Daniel
Hi
ich würde da nicht automatisch sortieren, sonden einen Extra Button zum Sortieren anlegen, so dass erst auf Wunsch des Eingebers hin sortiert wird.
vielleicht will er ja aus einer Liste mehrere Namen eingeben und dann ist es übersichtlicher, wenn man erst am Schluss sortiert.
ausserdem solltest du nicht nur nach dem Nach- sondern auch nach dem Vornamen sortieren, denn ein Name kann ja mehrfach vorkommen.
Dh du dürftest dann sowieso erst nach Eingabe des Vornamens sortieren.
Gruß Daniel

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 11:52:14
Marco
Ok hab' einen weiteren CommandButton zum Sortieren eingepflegt und das Makro rausgenommen.
https://www.herber.de/bbs/user/99665.xls
Das Problem bleibt aber bestehen. Gebe ich in Zeile z.B 400 den Namen ein und drücke dann auf den Button "Sortieren" bleibt die aktive Zelle in Zeile 400. Ich würde die aber gerne zur entsprechend einsortierten Zelle mitnehmen.
Ansonsten muss ich jetzt komplett manuell hochscrollen und suchen.

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 12:29:47
Daniel
Hi
dann probier mal folgenden Code zum Sortieren:

Dim Zelle As Range
ActiveSheet.Unprotect
If ActiveCell.Row > 14 Then
Set Zelle = Cells(ActiveCell.Row, 3)
Zelle.Value = Zelle.Value & "|"
End If
Range("c15:bg800").sort Key1:=Range("c15"), key2:=Range("D15")
If Not Zelle Is Nothing Then
Cells(Columns(3).Find(what:="*|", lookat:=xlWhole).Row, ActiveCell.Column).Select
Columns(3).Replace "|", "", xlPart
End If
ActiveSheet.Protect
hierbei wird dann in der aktiven Zeile an den Text in der Spalte C vor dem Sortieren ein bestimmtes Zeichen ("|"), welches sonst nicht vorkommt angeängt.
Nach dem Sortieren sucht dann das Makro die Zelle mit diesem Zeichen, aktiviert die Zelle und löschst das Zeichen wieder.
ist war etwas umständlich, aber eine andere Lösung fällt mir grad auch nicht ein.
Gruß Daniel

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 13:48:11
Matthias
Das hat ich mir in einfacher Form auch schon gedacht, nur steht das ganze in einem Change_Event. _ Wenn du also

Zelle.Value = Zelle.Value & "|" 
ausführst, hängst du dir in einer Dauerschleife ein ganzes Heer an Zeichen hintenran, leider.

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 13:51:42
Daniel
Hi
in der letzten ausführung steht das Sortieren nicht mehr im Change-Event.
Event-Makros kann man im Bedarfsfall mit: Application.EnableEvents = False dekativieren und mit Appication.EnableEvents = True wieder einschalten (die zuletzt gemachte Einstellung bleibt nach Makroende erhalten!)
Gruß Daniel

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 13:54:44
Matthias
Oder zwei Bereiche im Change-Event
ActiveSheet.Unprotect
Dim Bereich As Range
Dim Bereich2 As Range
Set Bereich = Range("C15:C500")
Set Bereich2 = Range("D15:D500")
If Not Intersect(Target, Bereich) Is Nothing Then ' Zelle ist im Bereich
Cells(Target.Row, Target.Column + 1).Value = "Schlüsselwort"
ElseIf Not Intersect(Target, Bereich2) Is Nothing Then
Range("C15:BG800").sort Key1:=Range("C15")
End If
ActiveSheet.Protect

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 13:59:29
Daniel
dann mach das am Tabllenende, wo du nicht gefahr läufst, dir irgendwelch Inhalte zu überschreiben.
Das Application.EnableEvents = False würde ich trotzdem verwenden, um den Selbstaufruf zu unterbinden, auch wenn durch eine entsprechende Abfrage die Endlosschleife vermieden wird.
Auch der einmalige Selbstaufruf ist lästig, wenn du bespw im Einzelstep testen musst.
Gruß Daniel

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 14:11:07
Matthias
Das ist eine Feinheit, die der Anfragesteller selbst entscheiden kann, ist ja nicht wirklich schwer aus der 1 eine größere Zahl zu machen. Bzw ist diese Variable die ich da eingebaut habe nicht mal wirklich notwendig, da die Target.Column immer die gleiche ist, nämlich 3+1=4.
Außerdem bin ich faul, ich lasse damit gleich das Schlüsselwort überschreiben, weil es ja im Vornamen steht. So müsste ich noch eine Zeile mehr schreiben um das nach dem Suchen wieder zu entfernen :P
lg Matthias

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 14:24:28
Daniel
und wenn der Anwender den Vornamen schon eingegeben hat?
weil er bspw den Nachnamen nachträglich nochmal ändern will?
Gruß Daniel

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 11:56:51
Matthias
Hallo Marco
fang doch erst mit dem Vornamen an, dann brauchst du auch nix ändern. Der rutscht nämlich nicht weg :P
lg Matthias

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 12:10:03
Marco
Hallo Matthias, das löst aber das Problem trotzdem nicht. Die aktivierte Zelle bleibt trotzdem da "unten" wenn sortiert wurde.

AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 14:02:47
Matthias
Ich weiss ja nicht wofür du unbedingt die aktive Zelle bewegt haben muss. Man kann erst alle anderen Eingaben machen und den Nachnamen ja zu allerletzt eingeben,gut ist.
Es sei denn du willst weitere Makros dort ranhängen, ansonsten macht das wenig Sinn soviel Aufwand dort reinzustecken. Naja, jedenfalls hast du jetzt ein paar Möglichkeiten genannt bekommen.

Anzeige
AW: Aktivierte Zelle nach ABC-Sortierung
18.08.2015 15:08:03
Marco
Hallo Danke erstmal....muss arbeiten und hatte bisher keine Zeit mir die Lösungsvorschläge weiter anzusehen. Mach ich später. Gruß Marco

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige