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.

Excel VBA Überschreiben verhindern!!!
#1
Hallo,

mit dem unteren Code habe ich versucht einige Daten zu Kopieren und in einem anderen Ort einzufügen.
Das Problem, dass ich manchmal die Daten beim Einfügen überschreibe.
wie kann ich den Code ändern, damit ich eine Fehlermeldung bekomme und das Überschreiben verhindert.
Vielen Danke für Ihre Hilfe.


Sub Kopieren_3Pers()
'
' Kopieren_3Pers Makro
'

'
    Range("C6:J8").Select
    Selection.Copy
    Range("B16").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Rows("15:15").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Antworten Top
#2
Hallo

erstmal kann man den Code ein bissel kürzen


Code:
Sub Kopieren_3Pers()
   Range("C6:J8").Copy
   Range("B16").PasteSpecial Paste:=xlPasteValues
   Rows("15:17").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   Application.CutCopyMode = False
End Sub

dann hast du ja hart codiert, dass in Zelle B16 eingefügt werden soll
aber da ja 3 neue Zeilen eingefügt werden, sollte doch die Zelle B16 dann immer leer sein

MfG Tom
Antworten Top
#3
Vielen Dank für die schnelle Antwort.
Ich habe andere Buttons und muss manchmal Daten von 4, 5 oder 7 Personen Kopieren und einfügen.
Da die Daten manchmal überschrieben wurden, möchte ich das vermeiden mit der Anzeige der Fehlermeldung und verhinderung des Überschreibens.
Antworten Top
#4
Hallo,

meinst Du so in der Art?

Code:
Sub Kopieren_3Pers()
  With Range("C6:J8")
     If WorksheetFunction.CountA(Range("B16").Resize(.Rows.Count, .Columns.Count).Value) > 0 Then MsgBox "Bereich nicht frei": Exit Sub
     .Copy
     Range("B16").PasteSpecial Paste:=xlPasteValues
     Rows("15:17").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  End With
  Application.CutCopyMode = False
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Hier scheint es umd das gleiche Problem zu gehen
http://www.ms-office-forum.net/forum/sho...p?t=336359
Antworten Top


Gehe zu:


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