Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
vba code schneller machen
22.04.2008 10:23:52
Christian
hallo allle
ich habe einen vba code zusammengebastelt zum sortieren von datum, weil nie richtig sortiert wurde
wegen zeichen umwandlung .
jetzt funkt der vba code aber leider dauert er zu lange-
wer kann den code etwas beschleunigen oder kürzen damit das nicht sooooo lange dauert.

Private Sub CommandButton1_Click()
'datum umwanden ln in zahlen
Application.ScreenUpdating = False
Range("IV1").Select
Selection.Copy
Application.Goto Reference:="datum"
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.Goto Reference:="Database"
Application.CutCopyMode = False
Selection.Sort Key1:=Range("E5"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'loescht alle nuller der umwandlung
Dim strg As String
Dim C As Variant
strg = "0"
For Each C In Worksheets("Daten").Range("E1:E1500")
If C.Value = strg Then
C.ClearContents
End If
Next
'sortieren und format zuweisen
Application.Goto Reference:="Database"
Selection.Sort Key1:=Range("E5"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.Goto Reference:="datum"
Selection.NumberFormat = "dd/mm/yyyy;@"
'zur letzten zeile
Sheets("Daten").Select
Cells(Cells.Rows.Count, 4).End(xlUp).Select
Application.ScreenUpdating = False
End Sub


danke
gruss
christian neu

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba code schneller machen
22.04.2008 10:53:55
UweD
Hallo
- auf select kann verzichtet werden.Gruß UweD
- anstatt alle Zellen im Bereich einzeln auf 0 zu prüfen, geht der find schneller
VB-Code:

Private Sub CommandButton1_Click()
    'datum umwanden ln in zahlen
    Application.ScreenUpdating = False
    Range("IV1").Copy
    Range("datum").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    Range("Database").Sort Key1:=Range("E5"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    'loescht alle nuller der umwandlung
    Dim strg As String
    Dim C As Variant
    Dim firstAddress
    strg = "0"
    With Worksheets("Daten").Range("E1:E1500")
        Set C = .Find(strg, LookIn:=xlValues)
        If Not C Is Nothing Then
            Do
                C.ClearContents
                Set C = .FindNext(C)
            Loop While Not C Is Nothing
        End If
    End With
    'sortieren und format zuweisen
    Range("Database").Sort Key1:=Range("E5"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("Datum").NumberFormat = "dd/mm/yyyy;@"
    'zur letzten zeile
    Sheets("Daten").Cells(Cells.Rows.Count, 4).End(xlUp).Select
End Sub
Gruß UweD
(Rückmeldung wäre schön)

Anzeige
AW: vba code schneller machen (update)
22.04.2008 10:59:00
UweD
Hallo nochmal
die eine Zeile muß du noch tauschen: sonst löscht das Makro auch z.b. 10
Set C = .Find(strg, LookIn:=xlValues, LookAt:=xlWhole)

AW: vba code schneller machen
22.04.2008 11:07:58
Christian
hi uwe d
danke das du dir diese mühe machst.
ich kann in wirklichkeit keine beschleunigung feststellen.
ich versuche gerades den code in 3 teile mit 3 commandbuttons zu teilen.
das erstaunliche ist das dann alle drei prozeduren nicht mal 2 sekunde dauern.wenn ich sie einzeln ausführe.
hingegen alle zusammen dauern ca. 20sec.
eigenartig?
hast du noch eine idee
vielen dank
gruss
christian neu
Anzeige

16 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige