PDA

Vollständige Version anzeigen : Automatisches Sortieren wenn Neue Zeile mit Name angelegt wurde


SileNT443
18.07.2014, 07:55
Hallo liebe Community,
ich bin neu hier und habe auch schon vieles hier nachlesen können. :top:
Zurzeit bin ich am erstellen einer Anwesenheitsliste für unseren Betrieb.
Bis jetzt konnte ich zu jedem Problem eine Lösung finden. :mrcool:
Doch bei meinem aktuellen stoße ich an mein Limit. :mad:

Die Liste verläuft über das komplette Jahr.
Da wir oft neue Mitarbeiter bekommen und andere den Betrieb wechseln, ändert sich die Liste sehr häufig.
Ich möchte das nun am liebsten so realisiert haben das:
Wenn ich einen neuen Mitarbeiter z.B. im Monat Mai einfüge über eine neue Zeile.
Soll dieser auch in den darauffolgenden Monaten automatisch eingepflegt werden .
Das ganze dann natürlich noch Alphabetisch sortiert.
Das gleiche auch wenn ich jmd. entferne.
Bis jetzt habe ich alles ohne VBA hinbekommen ich denke jetzt komme ich nicht drumherum :P
Die Liste befindet sich im Anhang zur Verdeutlichung ;)
Ich hoffe das ist alles so verständlich :)

EDIT: Ich arbeite mit Office 2010

xlph
18.07.2014, 13:47
Hallo,

siehe Anhang.

Mc Santa
18.07.2014, 14:00
Hallo,

habe einen kleinen Bug gefunden:
Ich befinde mich in Zelle C11 und lösche immer wieder über Entf Mitarbeiter. Nur die erste Löschung findet in allen Monaten statt.

Ich glaube man kann es beheben, indem man die Zeile for Exit Sub des ersten Makros einfügt:
m_AlterWert = ActiveCell.Value

Sonst, gefällt mir der Code gut!

VG

xlph
18.07.2014, 17:34
Hallo Mc Santa,

besser so:

Next

m_AlterWert = ActiveCell.Value

Application.ScreenUpdating = True
Application.EnableEvents = True

Set AenderungsBereich = Nothing

xlph
18.07.2014, 18:13
Hallo,

hier nochmal überarbeitet.

SileNT443
19.07.2014, 09:43
Wow, danke für die schnelle Hilfe :)
Ein Problem seh ich aber gerade noch.
Wenn ich jmd. hinzufüge wird im darauffolgenden Monat die Zeile Wochentag mit sortiert was falsch ist ^^
Und wo seh ich den Code würde mich damit gern auseinander setzten :)

EDIT: Hab meinen Fehler gefunden xD
Das sortieren und hinzufügen/entfernen ist auf 15 Zeilen beschränkt ^^
Ich hab immer Zeile hinzufügen gemacht ^^
Wo kann ich das den ändern falls wir mal mehr wie 15 Mitarbeiter werden ? :)

Mc Santa
19.07.2014, 09:50
Hallo,

Man müsste das im Code anpassen. Drücke Alt + F11, dann kommst du innen VBA-Editor. Doppelklick auf deine tabelle, dann siehst du den Code. Vielleicht verstehst du schon etwas :) Fragen gerne.

Viele Grüße

SileNT443
19.07.2014, 10:00
Danke für die schnelle Antwort ! :)
Funktioniert alles perfekt mega gut !
Vielen Dank !!!! :D

Im Makro bearbeiten muss ich dann den Überwachten bereich neh ?
Also:
UeberwachteBereiche = _
Array("C11:C25", "C31:C45", "C51:C65", "C71:C85", "C91:C105", "C111:C125", _
"C131:C145", "C151:C165", "C171:C185", "C191:C205", "C211:C225", "C231:C245")

Beim Rest des Codes naja :D if else den kram kenn ich noch von C++ aber wie das so bei VBA alles funktioniert weiß ich noch nicht ^^
Damit muss ich mich noch beschäftigen :)

Danke nochmals und schönes sonniges Wochenende wünsche ich :cool:

Mc Santa
19.07.2014, 11:01
Hallo,

also ich behaupte mal spontan, dass es dann funktioniert, wenn du alle Bereiche änderst und darauf achtest, dass alle Bereiche gleich groß sind. Habe mir den Code jetzt aber nicht im Detail angesehen ;)

Viele Grüße