Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortieren bei Neuberechnung

Sortieren bei Neuberechnung
18.02.2008 14:10:00
Martin
Hallo Kollegen,
Ich suche eine Möglichkeit, automatisch einen Bereich in Tabelle1 zu sortieren, wenn man F9 betätigt. Derzeit habe ich diese Routine in "Diese Arbeitsmappe":

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Worksheets("Tabelle1").Range("a2:j26").Sort Key1:=Worksheets("Tabelle1").Range("B1"), order1: _
=xlDescending
End Sub


Das funktioniert, sobald man einen Wert irgendwo in der Arbeitsmappe ändert/eingibt. Es funktioniert aber nicht, wenn man zur F9=Neuberechnen drückt. Da die (riesige) Arbeitsmappe etwa 40 Sekunden Neuberechnet, ist die Berechnung eigentlich immer auf "Manuel" gesetzt und es wird F9 benutzt.
Was kann man hinzufügen oder ändern, damit F9 auch zur Sortierung des Tabellenbereiches führt?
Danke euch.
Martin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren bei Neuberechnung
18.02.2008 14:13:00
Rudi
Hallo,

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
'dein Code
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Sortieren bei Neuberechnung
18.02.2008 15:39:18
Martin
Schade, das funktioniert aber nicht. Ich habe:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Worksheets("Tabelle1").Range("a2:j26").Sort Key1:=Worksheets("Tabelle1").Range("B1"), order1: _
=xlDescending
Worksheets("Tabelle2").Range("a2:j26").Sort Key1:=Worksheets("Tabelle2").Range("B1"), order1: _
=xlDescending
End Sub


und alternativ das:


Private Sub Workbook_SheetChange(ByVal Sh As Object)
Worksheets("Tabelle1").Range("a2:j26").Sort Key1:=Worksheets("Tabelle1").Range("B1"), order1: _
=xlDescending
Worksheets("Tabelle2").Range("a2:j26").Sort Key1:=Worksheets("Tabelle2").Range("B1"), order1: _
=xlDescending
End Sub


versucht.
Beides geht aber nicht.
Wer hat noch einen Tipp?
Martin

Anzeige
Workbook_SheetCalculate !!! (owT)
18.02.2008 17:18:20
Renee

AW: Workbook_SheetCalculate !!! (owT)
18.02.2008 17:34:00
Martin
Komisch, gibt es keine Antwort von Renee?
Oder was mache ich hier falsch?
Martin

AW: Workbook_SheetCalculate !!! (owT)
18.02.2008 18:19:00
fcs
Hallo Martin,
die SheetChange Prozeduren reagieren nur auf die Eingabe von Werten in Zellen, aber nicht auf die Änderung von Werten durch Berechnungen. Deshalb passiert bei deiner Version nichts nach Drücken auf F9.
Es gibt unter DieseArbeitsmappe eine Ereignis-Prozedur, die ausgeführt wird sobald eines der Blätter in der Arbeitsmappe neuberechnet wird.

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Worksheets("Tabelle1").Range("a2:j26").Sort Key1:=Worksheets("Tabelle1").Range("B1"), _
order1:=xlDescending
Worksheets("Tabelle2").Range("a2:j26").Sort Key1:=Worksheets("Tabelle2").Range("B1"), _
order1:=xlDescending
End Sub


In gleicher Weise gibt es für das Tabellenblatt die Ereignis-Prozedur. Diese muss du unter dem jeweiligen Tabellenblatt im VBA-Editor einfügen.


'Für Tabelle 1
Private Sub Worksheet_Calculate()
Worksheets("Tabelle1").Range("a2:j26").Sort Key1:=Worksheets("Tabelle1").Range("B1"), _
order1:=xlDescending
End Sub
'Für Tabelle 2
Private Sub Worksheet_Calculate()
Worksheets("Tabelle2").Range("a2:j26").Sort Key1:=Worksheets("Tabelle2").Range("B1"), _
order1:=xlDescending
End Sub


Welche der beiden möglichen Varianten bei dir besser funktioniert, muss du probieren.
Gruß
Franz

Anzeige
AW: Workbook_SheetCalculate !!! (owT)
19.02.2008 09:17:41
Martin
Danke Franz, das funktioniert gut!

Der Betreff ist die Antwort!! (owT)
19.02.2008 11:10:01
Renee

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige