Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Tabelle automatisch sortieren
#11
Hallo,
@Gast123, danke für das Dokument. So wie du es aufgestellt hast, ist es genauso wie Ich es möchte. Allerdings habe Ich versucht die Zeilen bzw. Spalten zu ändern. Das funktioniert allerdings nicht so ganz :D. Könntest du mir vielleicht noch sagen, wie Ich die Zeilen die sortiert werden sollen ändern kann?
@WillWissen
hier wäre ein Ausschnitt der Tabelle (man kann halt nur die PLZ sehen und nicht die ganze Tabelle)

Veranstaltung (1)

UVWXYZ
1PLZOrte Anzahl%
2/-0
377948Friesenheim (Baden)00%
477652Offenburg1100%
572250Bad Peterstal-Griesbach00%
677740Bad Peterstal-Griesbach00%
777653Offenburg00%
877654Offenburg00%
977655Offenburg00%
1077656Offenburg00%
1177694Kehl00%
1277704Oberkirch (Baden)00%
1377709Oberwolfach00%
1477709Wolfach00%
1577716Fischerbach00%
1677716Haslach im Kinzigtal00%
1777716Hofstetten (Baden)00%
1877723Gengenbach00%
1977728Oppenau00%
2077731Willstätt00%
2177736Zell am Harmersbach00%
2277743Neuried (Baden)00%
2377746Schutterwald00%
2477749Hohberg00%
2577756Hausach00%
2677767Appenweier00%
2777770Durbach00%
2877781Biberach (Baden)00%
2977784Oberharmersbach00%
3077787Nordrach00%
3177790Steinach (Baden)00%
3277791Berghaupten00%
3377793Gutach (Schwarzwaldbahn)00%
3477794Lautenbach00%
3577796Mühlenbach00%
3677797Ohlsbach00%
3777799Ortenberg (Baden)00%
3877855Achern00%
3977866Rheinau (Baden)00%
4077871Renchen00%
4177876Kappelrodeck00%
4277880Sasbach bei Achern00%
4377883Ottenhöfen im Schwarzwald00%
4477886Lauf (Baden)00%
4577887Sasbachwalden00%
4677889Seebach (Baden)00%
4777933Lahr/Schwarzwald00%
4877955Ettenheim00%
4977960Seelbach (Schutter)00%
5077963Schwanau00%
5177966Kappel-Grafenhausen00%
5277971Kippenheim00%
5377972Mahlberg00%
5477974Meißenheim00%
5577975Ringsheim00%
5677977Rust (Baden)00%
5777978Schuttertal00%
5878132Hornberg00%
59GESAMT1100%
Formeln der Tabelle
ZelleFormel
Y2=ZÄHLENWENN(T2:T102;"ANDERE_ODER_KEINE_EINGABE")+ZÄHLENWENN(S2:S102;0-10000)
Y3=ZÄHLENWENN($S$2:$S$102;U3)
Z3=Y3/$Y$59
Y4=ZÄHLENWENN($S$2:$S$102;U4)
Z4=Y4/$Y$59
Y5=ZÄHLENWENN($S$2:$S$102;U5)
Z5=Y5/$Y$59
Y6=ZÄHLENWENN($S$2:$S$102;U6)
Z6=Y6/$Y$59
Y7=ZÄHLENWENN($S$2:$S$102;U7)
Z7=Y7/$Y$59
Y8=ZÄHLENWENN($S$2:$S$102;U8)
Z8=Y8/$Y$59
Y9=ZÄHLENWENN($S$2:$S$102;U9)
Z9=Y9/$Y$59
Y10=ZÄHLENWENN($S$2:$S$102;U10)
Z10=Y10/$Y$59
Y11=ZÄHLENWENN($S$2:$S$102;U11)
Z11=Y11/$Y$59
Y12=ZÄHLENWENN($S$2:$S$102;U12)
Z12=Y12/$Y$59
Y13=ZÄHLENWENN($S$2:$S$102;U13)
Z13=Y13/$Y$59
Y14=ZÄHLENWENN($S$2:$S$102;U14)
Z14=Y14/$Y$59
Y15=ZÄHLENWENN($S$2:$S$102;U15)
Z15=Y15/$Y$59
Y16=ZÄHLENWENN($S$2:$S$102;U16)
Z16=Y16/$Y$59
Y17=ZÄHLENWENN($S$2:$S$102;U17)
Z17=Y17/$Y$59
Y18=ZÄHLENWENN($S$2:$S$102;U18)
Z18=Y18/$Y$59
Y19=ZÄHLENWENN($S$2:$S$102;U19)
Z19=Y19/$Y$59
Y20=ZÄHLENWENN($S$2:$S$102;U20)
Z20=Y20/$Y$59
Y21=ZÄHLENWENN($S$2:$S$102;U21)
Z21=Y21/$Y$59
Y22=ZÄHLENWENN($S$2:$S$102;U22)
Z22=Y22/$Y$59
Y23=ZÄHLENWENN($S$2:$S$102;U23)
Z23=Y23/$Y$59
Y24=ZÄHLENWENN($S$2:$S$102;U24)
Z24=Y24/$Y$59
Y25=ZÄHLENWENN($S$2:$S$102;U25)
Z25=Y25/$Y$59
Y26=ZÄHLENWENN($S$2:$S$102;U26)
Z26=Y26/$Y$59
Y27=ZÄHLENWENN($S$2:$S$102;U27)
Z27=Y27/$Y$59
Y28=ZÄHLENWENN($S$2:$S$102;U28)
Z28=Y28/$Y$59
Y29=ZÄHLENWENN($S$2:$S$102;U29)
Z29=Y29/$Y$59
Y30=ZÄHLENWENN($S$2:$S$102;U30)
Z30=Y30/$Y$59
Y31=ZÄHLENWENN($S$2:$S$102;U31)
Z31=Y31/$Y$59
Y32=ZÄHLENWENN($S$2:$S$102;U32)
Z32=Y32/$Y$59
Y33=ZÄHLENWENN($S$2:$S$102;U33)
Z33=Y33/$Y$59
Y34=ZÄHLENWENN($S$2:$S$102;U34)
Z34=Y34/$Y$59
Y35=ZÄHLENWENN($S$2:$S$102;U35)
Z35=Y35/$Y$59
Y36=ZÄHLENWENN($S$2:$S$102;U36)
Z36=Y36/$Y$59
Y37=ZÄHLENWENN($S$2:$S$102;U37)
Z37=Y37/$Y$59
Y38=ZÄHLENWENN($S$2:$S$102;U38)
Z38=Y38/$Y$59
Y39=ZÄHLENWENN($S$2:$S$102;U39)
Z39=Y39/$Y$59
Y40=ZÄHLENWENN($S$2:$S$102;U40)
Z40=Y40/$Y$59
Y41=ZÄHLENWENN($S$2:$S$102;U41)
Z41=Y41/$Y$59
Y42=ZÄHLENWENN($S$2:$S$102;U42)
Z42=Y42/$Y$59
Y43=ZÄHLENWENN($S$2:$S$102;U43)
Z43=Y43/$Y$59
Y44=ZÄHLENWENN($S$2:$S$102;U44)
Z44=Y44/$Y$59
Y45=ZÄHLENWENN($S$2:$S$102;U45)
Z45=Y45/$Y$59
Y46=ZÄHLENWENN($S$2:$S$102;U46)
Z46=Y46/$Y$59
Y47=ZÄHLENWENN($S$2:$S$102;U47)
Z47=Y47/$Y$59
Y48=ZÄHLENWENN($S$2:$S$102;U48)
Z48=Y48/$Y$59
Y49=ZÄHLENWENN($S$2:$S$102;U49)
Z49=Y49/$Y$59
Y50=ZÄHLENWENN($S$2:$S$102;U50)
Z50=Y50/$Y$59
Y51=ZÄHLENWENN($S$2:$S$102;U51)
Z51=Y51/$Y$59
Y52=ZÄHLENWENN($S$2:$S$102;U52)
Z52=Y52/$Y$59
Y53=ZÄHLENWENN($S$2:$S$102;U53)
Z53=Y53/$Y$59
Y54=ZÄHLENWENN($S$2:$S$102;U54)
Z54=Y54/$Y$59
Y55=ZÄHLENWENN($S$2:$S$102;U55)
Z55=Y55/$Y$59
Y56=ZÄHLENWENN($S$2:$S$102;U56)
Z56=Y56/$Y$59
Y57=ZÄHLENWENN($S$2:$S$102;U57)
Z57=Y57/$Y$59
Y58=ZÄHLENWENN($S$2:$S$102;U58)
Z58=Y58/$Y$59
Y59=SUMME(Y3:Y58)
Z59=Y59/$Y$59

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Und die Spalte Y ändert sich durchgehend. Dabei möchte Ich ebenso, dass die gesamte Tabelle nach Y sortiert wird.
Vielleicht kann man mein Problem jetzt einfacher erkennen.
Ich freue mich über jede Hilfe :)

Viele Grüße

McArthur1
Antworten Top
#12
Hi,

da die zugrundeliegende Tabelle fehlt, kann ich jetzt nur mal auf Verdacht eine Pivot-Tabelle in den Raum werfen.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#13
Hallo Bosko Biati,
danke für deine Hilfe :D
ist es allerdings nicht so, dass man bei Pivot Tabellen nicht autmoatisch sortieren kann? Des wegen würden diese eher wegfallen...

Viele Grüße

McArthur1
Antworten Top
#14
Hallo

danke für die Tabelle, ich habe die Daten übernommen, Spalten verschoben und das Makro angepasst.
Bei mir funktioniert es, wenn man zwei Makros austauscht.  Im Modul1 und  im Tabellenblatt Tabelle1 
Viel Erfolg bei der Arbeit, ich hoffe ich konnte sie dir damit erleichtern.  Den Rest müssen Kollegen beareiten.
 
mfg Gast 123

Code:
'diesen Code in "Tabelle1" austauschen

Private Sub Worksheet_Change(ByVal Target As Range)
'Sortieren ab Zeile 3, und nur bei Spalte AA = 27
If Target.Row > 2 And Target.Column = 27 Then _
  Call Sortieren
End Sub


'diesen Code in "Modul1" austauschen

Sub Sortieren()
Dim lz As Long
Application.ScreenUpdating = False
With ActiveWorkbook.Worksheets("Tabelle1")
    lz = .Range("Y3").End(xlDown).Row
    With .Sort
       'zuerst zwei Sortierschlüssel festlegen, hier AA + Y
        .SortFields.Clear    'Spalte AA und Y sortieren, AA hat Vorrang
        .SortFields.Add Key:=Range("AA3:AA" & lz), SortOn:=xlSortOnValues, _
         Order:=xlDescending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("Y3:Y" & lz), SortOn:=xlSortOnValues, _
         Order:=xlAscending, DataOption:=xlSortNormal
       'Eigentliche Sotier Routıne
       .SetRange Range("Y3:AB" & lz)
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End With
End Sub
Antworten Top
#15
Nachtrag

zur Erklaerung für den Frager:   mein Programm sucht vor dem Sortieren immer die letzte Zelle in der Spalte Y, PLZ
In dieser Spalte dürfen keine Lücken sein (leere Zellen)  Ob es wie 58 Zeilen sind, oder 1000 ist völlig wurscht. Sortiert wird immer der ganze Bereich, egal wieviele Orte da drin stehen. Das Makro passt sich automatisch an.

mfg  Gast 123
Antworten Top
#16
Hallo Gast123,
also Ich habe die 2 Makros in meine Tabelle übernommen, allerdings funktioniert es jetzt irgendwie nicht mehr... Blush :D
Könntest du mir vielleicht, dass angepasste Dokument mal schicken, damit Ich sehen kann, ob bzw. wo Ich einen Fehler gemacht habe?
Danke im Voraus :)

Viele Grüße

McArthur1
Antworten Top
#17
Hallo

kein Problem, hier die geaenderte Datei.  Ich bleibe solange dran bis es klappt. Wird schon!

mfg  Gast 123


Angehängte Dateien
.xlsm   Sortieren2.xlsm (Größe: 16,03 KB / Downloads: 5)
Antworten Top
#18
Hallo, Danke für deine Geduld :D
Bei mir steht jetzt die Anzahl in Y (siehe Tabelle oben) bei dir in Spalte AA. Ich habs wieder probiert anzupassen, aber irgendwie krieg Ich es gerade nicht hin.. :/ :D

Viele Grüße

McArthur1
Antworten Top
#19
Also,
Ich hab jetzt noch mal etwas rumprobiert, allerdings komm Ich immer noch nicht drauf. Könntest du mir vielleicht nochmal genau erklären, was Ich ändern muss um die Zellen anzupassen?
Danke Im Voraus
Viele Grüße

McArthur1
Antworten Top
#20
Hallo

Sorry, das war mein Fehler, nicht aufgepasst beim einschieben neuer Spalten, und voll übersehen das du für Orte ja drei Spalten hast !!

Nun ja, aller guten Dinge sind drei, hoffen wir das es jetzt klappt.  Noch mal ein korrigierter Code.
Im ersten Code Teil aendert sich nur die Target Spalte von 27 auf 25. Der Rest bleibt gleich! 
Im zweiten Code Teil aendern sich alle Sortier Adressen, am besten kompett austauschen. 

mfg  Gast 123

Code:
'diesen Code in "Tabelle1" austauschen

Private Sub Worksheet_Change(ByVal Target As Range)
'Sortieren ab Zeile 3, und nur bei Spalte AA = 27
If Target.Row > 2 And Target.Column = 25 Then _
  Call Sortieren
End Sub


'diesen Code in "Modul1" austauschen

Sub Sortieren()
Dim lz As Long
Application.ScreenUpdating = False
With ActiveWorkbook.Worksheets("Tabelle1")
    lz = .Range("U3").End(xlDown).Row
    With .Sort
       'zuerst zwei Sortierschlüssel festlegen, hier Y + U
        .SortFields.Clear    'Spalte Y und U sortieren, Y hat Vorrang
        .SortFields.Add Key:=Range("Y3:Y" & lz), SortOn:=xlSortOnValues, _
         Order:=xlDescending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("U3:U" & lz), SortOn:=xlSortOnValues, _
         Order:=xlAscending, DataOption:=xlSortNormal
       'Eigentliche Sotier Routıne
       .SetRange Range("U3:Z" & lz)
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • McArthur1
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste