Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA kopieren einfügen ohne sichtbaren sprung
#1
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
Antworten Top
#2
Hi,

schreib am Anfange Deines Makros

Code:
Application.ScreenUpdating = False

und an das Ende schreibst Du

Code:
Application.ScreenUpdating = True

Gruß
Max
Antworten Top
#3
Vielen Dank :23:
Antworten Top
#4
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
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Vielen Dank! Super klappt!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste