Durch Code bei Eingabe des # Blatt sortieren

Hallo liebe Excelgemeinde.
Ich habe da mal wieder eine Hilfe nötig.
Ich habe ein Arbeitsblatt, in dem ich meine Wareneingänge, sprich Lieferscheine ab Zeile 42 eingebe (Im oberen Teil sind Spaltenüberschriften und andere Anmerkungen). Wenn ich die Rechnungen bezahle, gebe ich in der Spalte E ein Doppelkreuz „#“ als „bezahlt-zeichen“ ein. Da es sich bei meinen Wareneingängen um mehr als 1000 Vorgängen handelt, und die Rechnungen nicht immer zeitnah eingehen, muss ich immer durch das gesammte Arbeitsblatt Scrollen um den richtige Vorgang zu suchen. Helfen würde mir, wenn bei der Eingabe des Doppelkreuz in dem Arbeitsblatt von A 42 bis H 1100 nach der Spalte E sortiert würde und die Markierten Zeilen (mit dem #) somit im oberen Teil sind.

Grüezi Küchenjunge

Ich habe ein Arbeitsblatt, in dem ich meine Wareneingänge,
sprich Lieferscheine ab Zeile 42 eingebe (Im oberen Teil sind
Spaltenüberschriften und andere Anmerkungen). Wenn ich die
Rechnungen bezahle, gebe ich in der Spalte E ein Doppelkreuz
„#“ als „bezahlt-zeichen“ ein. Da es sich bei meinen
Wareneingängen um mehr als 1000 Vorgängen handelt, und die
Rechnungen nicht immer zeitnah eingehen, muss ich immer durch
das gesammte Arbeitsblatt Scrollen um den richtige Vorgang zu
suchen. Helfen würde mir, wenn bei der Eingabe des Doppelkreuz
in dem Arbeitsblatt von A 42 bis H 1100 nach der Spalte E
sortiert würde und die Markierten Zeilen (mit dem #) somit im
oberen Teil sind.

Hmmm, wärest Du da nicht mit dem Autofilter noch besser bedient?
Dann hast Du nur die interessierenden Daten auf dem Schirm stehen.

Ansonsten kannst Du auch sehr einfach direkt sortieren indem Du eine einzelne Zelle in Spalte E markierst und dann in der Standard-Symbolleiste auf [A-Z] oder [Z-A] klickst.

Allzuviel VBA kann eine Anwendung auch überfrachten und früher oder später zu Problemen führen…


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas

Grüezi Küchenjunge

Ich habe ein Arbeitsblatt, in dem ich meine Wareneingänge,
sprich Lieferscheine ab Zeile 42 eingebe (Im oberen Teil sind
Spaltenüberschriften und andere Anmerkungen). Wenn ich die
Rechnungen bezahle, gebe ich in der Spalte E ein Doppelkreuz
„#“ als „bezahlt-zeichen“ ein. Da es sich bei meinen
Wareneingängen um mehr als 1000 Vorgängen handelt, und die
Rechnungen nicht immer zeitnah eingehen, muss ich immer durch
das gesammte Arbeitsblatt Scrollen um den richtige Vorgang zu
suchen. Helfen würde mir, wenn bei der Eingabe des Doppelkreuz
in dem Arbeitsblatt von A 42 bis H 1100 nach der Spalte E
sortiert würde und die Markierten Zeilen (mit dem #) somit im
oberen Teil sind.

Hmmm, wärest Du da nicht mit dem Autofilter noch besser
bedient?
Dann hast Du nur die interessierenden Daten auf dem Schirm
stehen.

Ich habe aber in den Spalte auch der Spalte E Formeln, die ich mit dem Doppelkreuz (#) bei der Überprüfung überschreibe.

Ansonsten kannst Du auch sehr einfach direkt sortieren indem
Du eine einzelne Zelle in Spalte E markierst
und dann in der Standard-Symbolleiste auf [A-Z] oder [Z-A]
klickst.

Allzuviel VBA kann eine Anwendung auch überfrachten und früher
oder später zu Problemen führen…

mag sein, aber ich glaube mit einem Makro, der bei „#“ Eingabe reagiert könnte ich besser arbeiten (leben)


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Küchenjunge

Hmmm, wärest Du da nicht mit dem Autofilter noch besser
bedient?
Dann hast Du nur die interessierenden Daten auf dem Schirm
stehen.

Ich habe aber in den Spalte auch der Spalte E Formeln, die ich
mit dem Doppelkreuz (#) bei der Überprüfung überschreibe.

Na, und - das spielt für den Autofilter keine Rolle.

…auch hier einfach mal wieder testen… :wink:

Ansonsten kannst Du auch sehr einfach direkt sortieren indem
Du eine einzelne Zelle in Spalte E markierst
und dann in der Standard-Symbolleiste auf [A-Z] oder [Z-A]
klickst.

Allzuviel VBA kann eine Anwendung auch überfrachten und früher
oder später zu Problemen führen…

mag sein, aber ich glaube mit einem Makro, der bei „#“ Eingabe
reagiert könnte ich besser arbeiten (leben)

…das glaube ich nicht - sobals Du nämlich *einmal* etwas anderes möchtest musst Du dich um die Deaktivierung des Makros kümmern…

Ansonsten einfach das Ganze mal mit dem Makro-Recorder aufzeichnen und den Code dann angepasst im Worksheet_Change()-Ereignis einbauen.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Morgen Thomas,
habe deine Rat befolgt, aber habe noch ein Problem.
Im Visual Basic habe ich im Arbeitsblatt
"Private Sub Worksheet_Change(ByVal Target As Range)"genommen.
Aber wie verbinde ich jetzt das Ganze mit dem Modul5, in dem ich per Makrorecorder die Sortiereei aufgenommen habe?
anbei eine Mustermappe
http://www.hostarea.de/server-04/April-2a0a48ce63.xls
kannst du mir da helfen??

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Küchenunge

Sorry, ich hatte deinen Beitrag hier erst heute bemerkt.

habe deine Rat befolgt, aber habe noch ein Problem.

Hmmm, nicht bloss eines fürchte ich— :frowning:

Im Visual Basic habe ich im Arbeitsblatt
"Private Sub Worksheet_Change(ByVal Target As Range)"genommen.
Aber wie verbinde ich jetzt das Ganze mit dem Modul5, in dem
ich per Makrorecorder die Sortiereei aufgenommen habe?
anbei eine Mustermappe
http://www.hostarea.de/server-04/April-2a0a48ce63.xls
kannst du mir da helfen??

In der Mappe laufen Ereignisse ab, die so nicht stattfinden dürfen - das Ganze ist IMO kaum kontrollierbar und ein buntes Gemisch aus Referenzierung und Selektierung.

Am meisten macht mir die folgende Zeile in 'Workbook_Open() zu schaffen:

 ActiveWorkbook.ActiveSheet.OnEntry = "SetzenDatum"

Wie kommst Du auf dieses Konstrukt und was genau willst Du damit bezwecken?

Die hier aufgerufene Sub ‚SetzenDatum‘ wird bei Veränderungen im Tabellenblatt ohne Anlass angesprungen und bringt wegen der Selektiererei einiges durcheinander.
So ist es nicht möglich die Sortierung nach Wunsch hinzubekommen…

Kann es sein, dass Du schon länger an der Mappe ‚rummachst‘ und einiges in VBA geändert, angepasse und gelöscht hast?
Ich werde den Eindruck nicht los, dass die Mappe korrupt ist und dringend neu aufgebaut werden sollte.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas,

Grüezi Küchenunge

Sorry, ich hatte deinen Beitrag hier erst heute bemerkt.

habe deine Rat befolgt, aber habe noch ein Problem.

Hmmm, nicht bloss eines fürchte ich— :frowning:

Im Visual Basic habe ich im Arbeitsblatt
"Private Sub Worksheet_Change(ByVal Target As Range)"genommen.
Aber wie verbinde ich jetzt das Ganze mit dem Modul5, in dem
ich per Makrorecorder die Sortiereei aufgenommen habe?
anbei eine Mustermappe
http://www.hostarea.de/server-04/April-2a0a48ce63.xls
kannst du mir da helfen??

In der Mappe laufen Ereignisse ab, die so nicht stattfinden
dürfen - das Ganze ist IMO kaum kontrollierbar und ein buntes
Gemisch aus Referenzierung und Selektierung.

Am meisten macht mir die folgende Zeile in 'Workbook_Open() zu
schaffen:

ActiveWorkbook.ActiveSheet.OnEntry =
„SetzenDatum“

Wie kommst Du auf dieses Konstrukt und was genau willst Du
damit bezwecken?

Die hier aufgerufene Sub ‚SetzenDatum‘ wird bei Veränderungen
im Tabellenblatt ohne Anlass angesprungen und bringt wegen der
Selektiererei einiges durcheinander.
So ist es nicht möglich die Sortierung nach Wunsch
hinzubekommen…

Kann es sein, dass Du schon länger an der Mappe ‚rummachst‘
und einiges in VBA geändert, angepasse und gelöscht hast?

Ja, mit dem Code und den Veränderungen habe ich schon seit Jahren zu tun

Ich werde den Eindruck nicht los, dass die Mappe korrupt ist
und dringend neu aufgebaut werden sollte.

Was meinst du mit korupt??
Muss ich mir da Sorgen machen??
Also in der Mappe wird bei Eingabe im der Spalte C den Benutzer des Excel Programms eingetragen. Dann in der letzte Splate das Datum mit Zeit.

Aber das Tollste, jetzt läuft der neue Code, mit dem # in der Spalte E. Wenn ich jetzt in der Spalte E das # Eingebe, wir so sortiert wie es soll!!!
Danke euch allen, ihr seit alle Spitze!!!
Du und Reinhard haben schon so oft geholfen.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Küchenunge

Kann es sein, dass Du schon länger an der Mappe ‚rummachst‘
und einiges in VBA geändert, angepasse und gelöscht hast?

Ja, mit dem Code und den Veränderungen habe ich schon seit
Jahren zu tun

Ich werde den Eindruck nicht los, dass die Mappe korrupt ist
und dringend neu aufgebaut werden sollte.

Was meinst du mit korupt??
Muss ich mir da Sorgen machen??

Hmmm, in diesem Falle würde ich dir dringend raten, die Mappe komplett neu aufzubauen.

Im Laufe der Zeit bleiben im Hintergrund der Mappe Reste von geläschten Programmierungen, Werten und anderes hängen, die nicht gelöscht werden können. Dies führt dann dazu, dass eine Mappe ‚korrupt‘ wird, spricht sie läuft zwar noch zeigt aber unerklärliches Verhalten und einige Dinge sint mit einem Male nicht mehr möglich.

Aber das Tollste, jetzt läuft der neue Code, mit dem # in der
Spalte E. Wenn ich jetzt in der Spalte E das # Eingebe, wir so
sortiert wie es soll!!!
Danke euch allen, ihr seit alle Spitze!!!
Du und Reinhard haben schon so oft geholfen.

Es freut mich sehr, wenn das nun so ist (obschon ich ja eigentlich nichts dazu beigetragen habe :wink:).

Dennoch: Ziehe ernsthaft in Erwägung, die Mappe neu aufzubauen um den alten Ballast los zu werden.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -