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

Spalten mit Formeln automatisch sortieren

Spalten mit Formeln automatisch sortieren
Murino
Hallo Leute,
habe wieder ein Problem. Den ganzen Tag wühle ich in den Foren rum, das passende habe ich
nicht gefunden. Meine große Bitte, schaut mal ob Ihr eine Lösung findet.
PROBLEM:
Ich habe drei Spalten „A“-„B“-„C“, diese drei Spalten haben Werte die über Formeln bezogen werden, in der mittleren Spalte sind Uhrzeiten (Reservierungen) eingetragen. Nun soll die Spalte mit den Reservierungen sortiert werden, und zwar so dass die früheste Zeit oben erscheint, die restlichen Spalten müssen sich nach den Reservierungen anpassen.
Das Problem ist dass Formeln sich nicht sortieren lassen, ich habe es über einen Makro probiert „Kopieren und als Werte einfügen“, es funktioniert zwar, aber es werden die Werte nach unten geschoben und es bilden sich lange leere Zellen. Wie bekomme ich eine ganz simple Sortierung hin, möglichst direkt bei der Eingabe und vielleicht sogar mit Formeln.
Danke im Voraus
Gruß an alle
Ciao
Aki
AW: Spalten mit Formeln automatisch sortieren
25.01.2010 20:05:06
Tino
Hallo,
wenn Du die Formeln behalten willst geht es nach meiner Meinung am einfachsten über
eine zweite Tabelle wo die Daten ohne Formel eingefügt werden.
Nur mal so ein Ansatz, kommt als Code in die Eingabetabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
With Tabelle2
.UsedRange.ClearContents
.Range(Tabelle1.UsedRange.Address) = Tabelle1.UsedRange.Value
.UsedRange.Sort Key1:=.Cells(1, 2), Order1:=xlAscending, Header:=xlYes
End With
End Sub

Gruß Tino
nur so eine Idee?! nicht ausgiebig getestet.
25.01.2010 20:18:12
Tino
Hallo,
Du könntest mal dies noch ausgiebig testen.
Ist mir nur so eingefallen ob es richtig funktioniert habe ich nicht ausgiebig getestet.
Hier wird die Berechnung auf der Tabelle abgestellt.
Bei einer Eingabe kurz aktiviert um die Formeln zu aktualisieren und
danach wieder Berechnung aus danach wird sortiert.
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
.EnableCalculation = False
Application.Calculate
.EnableCalculation = True
.UsedRange.Sort Key1:=.Cells(1, 2), Order1:=xlAscending, Header:=xlYes
End With
End Sub
Gruß Tino
Anzeige
AW: nur so eine Idee?! nicht ausgiebig getestet.
25.01.2010 21:57:35
Murino
Hallo Tino,
danke für deine Hilfe,
ich habe den code eingegeben, tut sich aber nix.
Grüße
aki
hier mein Beispiel dazu
25.01.2010 22:13:54
Tino
Hallo,
normalerweise müsste in Spalte B der größte Wert oben stehen
dies wird durch abstellen der Berechnung verhindert.
Dies macht zwar im Bsp. so keinen Sinn, aber es soll ja nur als Beispiel dienen.
https://www.herber.de/bbs/user/67484.xls
Gruß Tino
AW: hier mein Beispiel dazu
26.01.2010 09:01:02
Murino
Hallo Tino,
danke noch mal. irgendwie versteh ich den Zusammenhang nicht, wo kommen die Werte her?
Ich habe inzwischen ein anderes Makro herausbekommen, allerdings müsste ich noch 2 weitere im gleichen Blatt einfügen, weißt du eventuell wie man mehrere von diesen Makros
rein bekommt.
Danke im Voraus
Gruß
Aki
Private Sub Worksheet_Activate()
Range("A1:D33").Select
Selection.Sort Key1:=Range("C1"), Order1:=xlDescending, Header _
:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Anzeige
AW: hier mein Beispiel dazu
26.01.2010 10:04:07
Tino
Hallo,
wie wo kommen die Werte her?
Dies ist doch eine Formel die als Beispiel die Werte aus Spalte A holt.
Normalerweise ist die Funktion in Spalte B so, dass der größte wert oben steht.
Dein Makro kann Dein Problem so nicht lösen,
weil nach dem Sortieren die Formel neu berechnet werden und
dadurch je nach Formel die Sortierung wieder zunichte gemacht werden kann.
Gruß Tino
AW: hier mein Beispiel dazu
27.01.2010 00:29:29
Murino
Hallo Tino,
Danke für deine Hilfe,
ich muss leider aufgeben. Ich bin zu d. dafür. Ich habe alles probiert mit Makro Rekorder, kopieren und als Wert einfügen, alle Foren durchgestöbert "nothing". Ich bekomme es nicht geregelt dass bei "aufsteigend sortieren", die Leerzeilen oben schwimmen.
Ich bin deprimiert.
Gute Nacht, hab kein Bock mehr.
Liebe Grüße
Aki
Anzeige
gibst Du immer so schnell auf?
27.01.2010 11:21:03
Tino
Hallo,
wie wäre es mit einer Beispieldatei, vielleicht fällt mir dann etwas ein dazu.
Gruß Tino
AW: gibst Du immer so schnell auf?
27.01.2010 13:06:50
Murino
Hallo Tino,
vielen danke für dein Angebot ist sehr lieb von dir,
ich raffe nichts mehr stecke in eine Sackgasse.
Ich habe dir eine Musterdatei hochgeladen. Die eigentliche Sortierung „Aufsteigend“ (kleinste Werte Oben) sollen im Blatt Beispiel „Zeit“ erfolgen. Das Problem dass ich habe ist, das die leere Zeilen oben schwimmen, möchte ich aber nicht, die sollen gefällig unten bleiben.
Es wäre kein Problem wenn die Quell-Datei sortiert werden müsste, dass geht leider nicht denn di Daten werden aus diversen Masken eingegeben.
Ich danke dir sehr für dein Engagement
Liebe Grüße
Achille
https://www.herber.de/bbs/user/67544.xls
Anzeige
AW: gibst Du immer so schnell auf?
27.01.2010 14:57:19
Tino
Hallo,
ok. so geht es mit einer Hilfsspalte die wieder gelöscht wird.
Die Sortierung wird vorgenommen sobald in
Tabelle Eingabe im Bereich F3:K32 etwas eingegeben wird.
https://www.herber.de/bbs/user/67556.xls
Gruß Tino
AW: gibst Du immer so schnell auf?
27.01.2010 17:57:16
Murino
Hallo Tino,
vielen Dank für deine Mühe,
Ich weiß es wirklich zu schätzen.
Leider funktioniert dass nicht so! Du musst ja bedenken dass die Werte als Verknüpfung ankommen (Formeln). Ich habe das mal bei der Mustertabelle simuliert und schon klappt es nicht mehr. Die Quelldatei darf nicht sortiert werden, weil es einfach nicht möglich ist, die Eingabemasken wo die Reservierungen eingegeben werden sind auf Verschiedene Blätter verteilt.
Nochmals Danke für deine Hilfsbereitschaft und Mühe
Schöne grüße
Achille
Ps Du hast ein Südländischen Namen, bist du etwa Italiener?
https://www.herber.de/bbs/user/67563.xls
Anzeige
AW: gibst Du immer so schnell auf?
27.01.2010 19:51:20
Tino
Hallo,
die Quelle Eingabe wird doch gar nicht sortiert sondern die Tabelle Beispiel?
Schalten wir mal auf der Tabelle2 "Beispiel" die Berechnung noch ab,
diese wird nur bei Eingabe in Tabelle1 kurz ausgeführt und danach die Daten in Tabelle2 sortiert.
Ersetze den Code im Modul durch diesen.
Sub SortiereBereiche()
Dim rngBereich As Range
Dim iCalc As Integer
With Application
iCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
With Tabelle5
.EnableCalculation = True
Application.Calculate
.EnableCalculation = False
'Bereich Abends
Set rngBereich = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 4))
rngBereich.Columns(4).FormulaR1C1 = "=IF(RC[-2]"""",RC[-2],10^-307)"
rngBereich.Sort Key1:=rngBereich.Cells(1, 4), Order1:=xlDescending, Header:=xlYes
rngBereich.Columns(4).ClearContents
'Bereich Mittag
Set rngBereich = .Range("E2", .Cells(.Rows.Count, 5).End(xlUp).Offset(0, 4))
rngBereich.Columns(4).FormulaR1C1 = "=IF(RC[-2]"""",RC[-2],10^-307)"
rngBereich.Sort Key1:=rngBereich.Cells(1, 4), Order1:=xlDescending, Header:=xlYes
rngBereich.Columns(4).ClearContents
End With
.ScreenUpdating = True
.EnableEvents = True
.Calculation = iCalc
End With
End Sub
Gruß Tino
Anzeige
AW: gibst Du immer so schnell auf?
28.01.2010 13:20:15
Murino
Hallo Tino,
entschuldige bitte noch einmal,
die absteigende Sortierung ist nicht das Problem, dass macht Excel sowieso alleine.
Die aufsteigende Sortierung macht mir Kopfzerbrechen.
Es funktioniert einfach nicht. Versuche mal in Tabelle „Eingabe“ etwas einzugeben,
ew. eine Eingabe über eine Verknüpfung, es findet keine aufsteigende Sortierung statt.
Ich habe die Datei noch mal hochgeladen!
Nochmals Danke
Schöne Grüße
Achille
https://www.herber.de/bbs/user/67589.xls
AW: ok. nochmal
28.01.2010 18:14:42
Murino
Hallo Tino,
geht nicht, probier selbst nocheinmal,
es ist mir einfach zu Peinlich, darum bitte ich dich die Sache ruhen zu lassen.
Vielleicht ist mein Excel falsch eingestellt, oder wer weis der Kuckuck.
Vielleicht ist es mit eine Formelfunktion zu lösen „sverweis“ oder sonstiges.
Vielen dank für die Mühe und deine Geduld
Liebe grüße
Achille
AW: ok. nochmal
28.01.2010 19:43:06
Tino
Hallo,
habe es getestet, es wird richtig absteigend Sortiert.
Userbild
Für eine Formel, schau dich mal hier um.
http://www.excelformeln.de/formeln.html?gruppe=11
Gruß Tino
Anzeige
meinte aufsteigend ;-) oT.
28.01.2010 19:52:02
Tino

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige