Rechenzeitoptzimierung
03.06.2018 21:28:12
Philipp
ich möchte das unten aufgeführte Programm in seiner Berechnungszeit optimieren.
Die Zeile "Application.ScreenUpdating = False" MUSS entfallen und ist deshalb ausgeblendet.
Meiner Meinung nach wäre ein Befehl der alle Zeilen für die "If Cells(Zeile, Spalte) 0 Then"
erfüllt, nacheinander in die Zwischenablage kopiert und am Ende alles in die zweite Tabelle einfügt, am besten.
Leider sind hier meine VBA-Kenntnisse, besonders im Bezug auf den Syntax am Ende.
Sub Druck()
'Application.ScreenUpdating = False
Dim Spalte As Integer
Dim Zeile As Integer
Dim Zeilendifferenz As Integer
Spalte = 4 'Spalte für Bedingung
Zeile = 5 'Beginn zeile Bedingung
Zeilendifferenz = 5 'Zeile in Tabelle Druck (Einfügen Übertrag)
Application.CutCopyMode = False
With Worksheets("Eingabe")
While Zeile 0 Then
Rows(Zeile).Select
Selection.Copy
Sheets("Kalkulation").Select
Rows(Zeilendifferenz).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range(Cells(1, 1), Cells(Spalte, Zeilendifferenz)).Select
Zeilendifferenz = Zeilendifferenz + 1
Worksheets("Eingabe").Select
End If
Zeile = Zeile + 1
Wend
Sheets("Kalkulation").Select
Range("A1").Select
End With
End Sub