Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
696to700
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
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortieren eines Zellenabschnittes

Sortieren eines Zellenabschnittes
17.11.2005 15:39:17
Martin
Grüßt euch,
dieses Problem habe ich:
der Zellenbereich A2:M26 (Überschriften in Zeile 1) soll nach Spalte A abfallend sortiert werden. Aber automatisch bei jeder Neuberechnung.
Gibt es da was für?
Martin

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 11:41:59
Frank
Hallo Martin,
kopiere ins Modul "Diese Arbeitsmappe" folgenden Code:
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh Is Nothing Then Exit Sub
If Sh.Name = "Tabelle1" Then
' Hier könntest Du noch testen, ob die Änderungen den Bereich betreffen!
ActiveSheet.Range("A1:M26").Sort Key1:=ActiveSheet.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
End Sub

Viel Erfolg
Frank.
AW: Sortieren eines Zellenabschnittes
18.11.2005 12:56:58
Martin
Hallo Frank,
habe das wie unter steht bei mir einkopiert. (Mein Tabellenblatt heißt inzwischen "Calc Pareto"). Ich war mir nicht sicher ob ich "Option Explicit" auch dorthin kopieren muß oder nicht - habe beides probiert und in beiden Fällen wird an der Tabelle bei Neuberechnung leider nichts sortiert....
HAst du noch ne Idee?
Martin
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh Is Nothing Then Exit Sub
If Sh.Name = "Calc Pareto" Then
' Hier könntest Du noch testen, ob die Änderungen den Bereich betreffen!
ActiveSheet.Range("A1:M26").Sort Key1:=ActiveSheet.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
End Sub

Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:07:21
Frank
Hallo Martin,
wie "startest" Du die Neuberechnung? Ich habe das Makro so geschrieben, dass es auf Zelländerung reagiert.
Hast Du alles (inkl. "Option Explicit") in das Modul "Diese Arbeitsmappe" kopiert? Das ist das Modul, dass Du öffnest, wenn Du im Projektexplorer "Diese Arbeitsmappe" doppelt anklickst!
Lade, wenn Du nicht weiter kommst, die Arbeitsmappe einfach hoch!
Gruß Frank.
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:31
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:45
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:49
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:54
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:55
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:56
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:15:56
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:20:23
Frank
Hallo Martin,
eimal hätte Deine Nachricht auch gereicht! ;-)
Wenn Du Neuberechnen lässt, kopiere folgenden Code in das Modul der betreffenden Tabelle (im Projektexplorer die betreffende Tabelle doppelt anklicken und dann in dem sich öffnenen Codefenster alles einfügen):
Option Explicit

Private Sub Worksheet_Calculate()
ActiveSheet.Range("A1:M26").Sort Key1:=ActiveSheet.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Im Gegensatz zur 1. Lösung, die auf Änderungen in der Arbeitsmappe reagiert sollte, sollte die neue Lösung auf das Ereignis "Berechnen" reagieren (hoffe ich).
Gruß Frank.
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:36:41
Martin
Super das klappt!!!
Habe nur noch xlAscending in xldescending geändert.
Wenn ich nun beide Berechnungsformen (Tasteneingabe und F9) abgedeckt haben möchte, lasse ich einfach beide codes stehen?
Schade ist nur noch, dass nach der Sortierung unten immer steht "Berechnung", d.h. Excel zeigt an, dass eigentlich wieder berechnet werden müßte...
Da kann man wohl nichts dran machen, oder?
Martin
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:48:05
Frank
Hallo Martin,
ich muss außer Haus. Deswegen an Alle, wer weiß eine Lösung?
Wenn keiner antwortet melde ich mich später noch einmal!
Gruß Frank.
AW: Sortieren eines Zellenabschnittes
18.11.2005 14:20:54
Martin
Danke schonmal für deine Hilfe bis hier!
Folgendes Problem trat aber gerade auch noch auf:
Ich befand mich in einem anderen Blatt ("Analysis ALL") der selben Arbeitsmappe und habe F9 betätigt. Daraufhin hat das Makro den beschriebenen Zellbereich im aktuellen Arbeitsblatt völlig durcheinander gewürfelt anstatt nur im Blatt "Calc Pareto".
Der Code in "DieseArbeitsmappe" beinhaltet ja "If Sh.Name = "Calc Pareto" Then", bezieht sich doch eigentlich daher auf "Calc Pareto".
Unde der Code in "Tabelle2Calc Pareto" beinhaltet "ActiveSheet.Range("A1:M26").Sort Key1:=ActiveSheet.Range("A1"),.....", dürfte aber doch eigentlich nicht für das Arbeitsblatt "Analysis ALL", in dem ich mich befand, aktiv sein, oder?
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 18:06:54
Frank
Hallo Martin,
vielleicht habe ich in Zeitnor etwas übersehen. Hier noch einmal die beiden Module.
' --- Start des Klassenmodul der Tabelle "Calc Pareto" ---
Option Explicit
' Wichtig, Prozedure NUR im Klassenmodul der Tabelle "Calc Pareto" einfügen!
' (Im Projektexplorer unter Microsoft Excel Objekte die entsprechende Tabelle
' doppelt anklicken und dann dieses Modul inkl. Kommentare dort hinein kopieren)
' Falls Du diese Prozedure in anderen Modulen hast, bitte dort löschen!

Private Sub Worksheet_Calculate()
Dim ws As Worksheet
' Zur Sicherheit Tabellennamen prüfen
If ActiveSheet.Name <> "Calc Pareto" Then Exit Sub
Set ws = Worksheet("Calc Pareto")
ws.Range("A1:M26").Sort Key1:=ws.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

' --- Ende des Klassenmodul der Tabelle "Calc Pareto" ---
' --- Start des Klassenmodul der "Diese Arbeitsmappe" ---
Option Explicit
' Wichtig, Prozedure NUR im Klassenmodul der Tabelle "Diese Arbeitsmappe" einfügen!
' (Im Projektexplorer unter Microsoft Excel Objekte "Diese Arbeitsmappe"
' doppelt anklicken und dann dieses Modul inkl. Kommentare dort hinein kopieren)
' Falls Du diese Prozedure in anderen Modulen hast, bitte dort löschen!
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh Is Nothing Then Exit Sub
If Sh.Name = "Calc Pareto" Then
' Hier könntest Du noch testen, ob die Änderungen den Bereich betreffen!
Sh.Range("A1:M26").Sort Key1:=Sh.Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
End Sub

' --- Ende des Klassenmodul der "Diese Arbeitsmappe" ---
Ich hoffe, jetzt alles berücksichtig zu haben.
Viele Erfolg
Frank.
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:16:25
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:16:39
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin
Anzeige
AW: Sortieren eines Zellenabschnittes
18.11.2005 13:16:42
Martin
HAllo,
wei die Neuberchnung der Datei etwa 1 Minute beansprucht habe ich derzeit "Manuel" aktiviert, d.h. ich drücke F9. Reagiert das Makro darauf?
"Option Explicit" habe ich mit kopiert. Es erscheint automatisch oberhalb einer dünnen Linie.
Hochladen ist schlecht - das sind etwa 7MB...
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige