Clever-Excel-Forum

Normale Version: VBA kopieren einfügen ohne sichtbaren sprung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe per VBA mehrere Kopierfunktionen erstellt nur leider springt beim Ausführen das Fenster so komisch hoch und runter, wahrscheinlich weil ich das Makro so aufgenommen habe. Kann man diese springerei unsichtbar machen?

Hier der Code:

Sub Übertrag_Februar()
Range("M9:T14").Select
Selection.Copy
Range("E122:L127").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M22:T28").Select
Selection.Copy
Range("E135:L141").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M34:T40").Select
Selection.Copy
Range("E147:L153").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M50:T61").Select
Selection.Copy
Range("E163:L174").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M69:T77").Select
Selection.Copy
Range("E182:L190").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M85:T89").Select
Selection.Copy
Range("E198:L202").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M97:T112").Select
Selection.Copy
Range("E210:L225").Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.SmallScroll UP:=76
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.SmallScroll ToLeft:=2
End Sub
Hi,

schreib am Anfange Deines Makros

Code:
Application.ScreenUpdating = False

und an das Ende schreibst Du

Code:
Application.ScreenUpdating = True

Gruß
Max
Vielen Dank :23:
Hi,

befreie zuerst einmal den Code von den ganzen Selects. Dann zu Beginn "Application.ScreenUpdating = False" eintragen und am Ende dasselbe mit =True. Damit schaltest du die Bildschirmaktualisierung aus und wieder ein.


Code:
Sub Übertrag_Februar()

Application.ScreenUpdating = False
Range("M9:T14").Copy
Range("E122:L127").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M22:T28").Copy
Range("E135:L141").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M34:T40").Copy
Range("E147:L153").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M50:T61").Copy
Range("E163:L174").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M69:T77").Copy
Range("E182:L190").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M85:T89").Copy
Range("E198:L202").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("M97:T112").Copy
Range("E210:L225").PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.ScreenUpdating = True
End Sub

Nachtrag:

Du hast bestimmt gesehen, dass ich die letzten 4 Zeilen Code gelöscht habe. Die wurden mit aufgezeichnet und sind überflüssig. Wenn du nach dem Kopieren in einer bestimmten Zelle den Cursor haben willst, fügst du die Zeile Range ("A1").Activate ein. Damit landest du immer in Zelle A1
Vielen Dank! Super klappt!