Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1848to1852
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

Sverweis-Ergebnisse automatisch sortiere

Sverweis-Ergebnisse automatisch sortiere
08.10.2021 16:00:39
Thomas
Hallo alle Helfenden :)
Ich habe eine Tabelle, bei der ein Sverweis in Spalte B25 feststellt, ob in Zelle D25 ein gewisser Wert vorliegt und dann wird entsprechend der Matrix die Zelle B2 von 1-7 durchnummeriert. Wenn nicht, bleibt das Feld leer, geprüft wird das anhand einer anderen Eingabe in einem Nachbarfeld (D25 enthält ebenfalls eine Formel, kann also niemals leer sein).
Geprüft wird, ob in D25 per Dropdownfeld steht
Provision vollständig erhalten 1
Provision teilweise erhalten 2
Provisionseingang abwarten 3
In Vertragserstellung 4
In der Vermarktung 5
In Vorbereitung / Warteschleife 6
Abgaben / Rücklagen umgebucht 7

=WENN($E25="";"";SVERWEIS($D25;$Z$27:$AA$34;2;FALSCH))
Klappt prima.
Jetzt möchte ich B25 von 1-7 dynamisch sortieren lassen.
Dafür habe ich mir das rausgesucht:

Private Sub Worksheet_Change(ByVal Target As Range)
'Beschränken der Makroausführung auf den Bereich A1 bis A100
If Not Application.Intersect(Target, Range("B25:B330")) Is Nothing Then
'Bereich, auf den sich die Sortierung auswirken soll
Range("B25:B330").Select
'Sortierkriterien
Selection.Sort Key1:=Range("B25"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
'Zelle A1 auswählen
Range("B25").Select
End If
End Sub
Klappt aber leider nicht, da ja o.a. SVERWEIS-Formel in B25 drin steht.
Ohne die Formel in B25, also nur die reine Ziffer, sortiert er korrekt.
Wie bekomme ich das denn nun gelöst?
Vielen Dank schon mal vorab :)

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sollte auch nur mit Formel möglich sein ...
08.10.2021 16:06:53
neopa
Hallo Thomas,
... allerdings wäre Deine Beispielspieldatei mit der IST-Datenliste hilfreich.
Gruß Werner
.. , - ...
AW: ich stell den thread wieder offen ...
08.10.2021 19:11:45
neopa
Hallo Thomas,
... ich kann aus Deiner eingestellten Datei nicht eindeutig erkennen, wie das von Dir angestrebte Ergebnis nach der Sortierung aussehen soll. Ich vermute nun jedoch, dass Du nicht nur die Spalte B sortieren willst, sondern dementsprechend mit diesen wahrscheinlich den gesamten Datenbereich B25:W34. Oder? Das aber ist nur mit VBA realisierbar. Da ich mich mich mit VBA nicht beschäftige stelle ich den thread wieder offen.
Gruß Werner
.. , - ...
Anzeige
AW: ich stell den thread wieder offen ...
12.10.2021 11:55:11
Thomas
Das ist richtig, natürlich sollen zeitgleich alle Spalten im Bereich (B:W) mit sortiert werden, sodass die ganze Tabelle sortiert ist.
Großer Wunsch wäre hier natürlich zum einen
Sortierkriterium 1 (B25:W330) = (wie beschrieben) 1. Provision volltsändig erhalten etc...
dann Sortierkriterium 2 (C25:W330) = (Straßenname) Alphabetisch
Ich denke auch, dass da VBA her muss.
Danke aber für Deine Hilfe!
AW: ich stell den thread wieder offen ...
12.10.2021 12:21:44
peterk
Hallo
So sollte es funktionieren:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D25:D330")) Is Nothing Then
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add2 Key:=Range("B25:B330"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveSheet.Sort.SortFields.Add2 Key:=Range("C25:C330"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("B25:W330")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub

Anzeige
AW: ich stell den thread wieder offen ...
12.10.2021 12:53:13
Thomas
In der Tat, das macht es!! Wie cool!
...und das in einer atemberaubenden Antwortgeschwindigkeit *-*
Ganz toll!
Vielen, vielen Dank :)
Thomas
AW: Sverweis-Ergebnisse automatisch sortiere
08.10.2021 16:22:05
Daniel
Hi
Das Change-Event löst aus, wenn du einen festen Zellwert änderst oder den Formeltext neu schreibst.
Es löst nicht aus, wenn ein Formelergebnis sich ändert.
Da in Spalte B jetzt Formeln stehen und diese Formeln sich auf Spalte E beziehen, musst du im change-Event auf Veränderungen in Spalte E reagieren, nicht auf Veränderungen in Spalte B. (Beim ersten IF)
Stellt sich nur die Frage, ob Spalte E nicht mit sortiert werden sollte.
Gruß Daniel
Anzeige
AW: Sverweis-Ergebnisse automatisch sortiere
12.10.2021 11:56:22
Thomas
Auch als Antwort zu Deiner Frage...
Das ist richtig, natürlich sollen zeitgleich alle Spalten im Bereich (B:W) mit sortiert werden, sodass die ganze Tabelle sortiert ist.
Großer Wunsch wäre hier natürlich zum einen
Sortierkriterium 1 (B25:W330) = (wie beschrieben) 1. Provision vollständig erhalten etc...
dann Sortierkriterium 2 (C25:W330) = (Straßenname) Alphabetisch
AW: Sverweis-Ergebnisse automatisch sortiere
08.10.2021 19:34:09
Yal
Hallo Thomas,
mit Rücksicht auf die Hinweis von Daniel und Werner, so sollte dein Code aussehen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D25:D330")) Is Nothing Then
Range("B25:W330").Sort Key1:=Range("B25"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
Alternativ benennst Du deine Einträge in
1_Provision vollständig erhalten
2_Provision teilweise erhalten
3_...
Dann brauchst Du kein Sverweis mehr.
VG
Yal
Anzeige
AW: Sverweis-Ergebnisse automatisch sortiere
12.10.2021 12:03:32
Thomas
Hallo Yal,
danke für Deinen Vorschlag!
Wow.. zum Glück habe ich es eben nochmals überprüft. Eben hatte sich nämlich nichts getan, jetzt sortiert er aber doch alles ganz toll :)
Prima!! Vielen Dank! Wie toll!!
Einen Zusatzwunsch hätte ich noch, nämlich dass das
Sortierkriterium 1 (B25:W330) = (wie beschrieben) 1. Provision vollständig erhalten etc...
und dann Sortierkriterium 2 (C25:W330) = (Straßenname) Alphabetisch
sortiert wird.
Ob Du den Code noch um diesen Teil ergänzen könntest?
Dann wäre ich heute ein sehr glücklicher Mann :)
Vielen Dank in jedem Fall aber bis hierher!
Thomas
Anzeige
AW: Sverweis-Ergebnisse automatisch sortiere
12.10.2021 13:44:04
Yal
Hallo Thomas,
logischerweise so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D25:D330")) Is Nothing Then
Range("B25:W330").Sort _
Key1:=Range("B25"), Order1:=xlAscending, _
Key2:=Range("C25"), Order2:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
VG
Yal
AW: Sverweis-Ergebnisse automatisch sortiere
12.10.2021 17:53:39
Thomas
nochmals Danke!
Das klappt prima.
Tippe schon die ganze Zeit Daten ein und staune, wie schön es sich sortiert =)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige