Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Tabelle alle 10 Sekunden sortieren

Gruppe

OnTime

Problem

Eine Tabelle soll alle 10 Sekunden neu sortiert werden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn zwei Schaltflächen zu.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   On Error Resume Next
   Call SortierungStop
End Sub

StandardModule: basMain

Public Const ciIntervall As Integer = 10
Public Const dsMacro As String = "Berechnen"
Public gdNextTime As Double
Public gvar As Variant

Sub SortierungStart()
   gdNextTime = Now + TimeSerial(0, 0, ciIntervall)
   Application.OnTime gdNextTime, dsMacro
End Sub

Sub Berechnen()
   Range("A1").CurrentRegion.Sort key1:=Range("A2"), order1:=xlAscending
   Call SortierungStart
End Sub

Sub SortierungStop()
   On Error Resume Next
   Application.OnTime earliesttime:=gdNextTime, _
      procedure:=dsMacro, schedule:=False
   Application.Calculation = gvar
End Sub