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.

Wo liegt der Fehler, beim Speichern daten löschen und in andere Zeile übertragen
#1
Hallo VBA Experten,

wo ist beim mir der Fehler, ich möchte das ich nach den Speicher die Zeilen gelöscht werden und gleichzeitig die Daten in eine andere Zeilen kopiert werden

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Worksheets("Tabelle1").Range("U16:U15000").Copy
Destination = Worksheets("Tabelle1").Range("BD16:BD15000").Paste
Worksheets("Tabelle1").Range("U16:U15000, V16:V15000").ClearContents

End Sub
Danke
Antworten Top
#2
Hi,

Zitat:wo ist bei mir der Fehler...

Code:
Worksheets("Tabelle1").Range("U16:U15000").Copy Destination:=Worksheets("Tabelle1").Range("BD16:BD15000")
Worksheets("Tabelle1").Range("U16:U15000, V16:V15000").ClearContents
gruß
Marco
[-] Folgende(r) 1 Nutzer sagt Danke an Mase für diesen Beitrag:
  • Pirat2015
Antworten Top
#3
Hi Mase,

Erstmals vielen Dank,

kann man auch noch so machen das er nur einmal die Zelle anschauet, weil wenn ich das zweite mal Speicher dann ist ja in Zelle U16 kein wert mehr und dann wird quasi die 0 in die BD16 übertragen. Ich möchte aber das der wert der vorher in U16 war auch dann für immer in BD16 verbleibt.

Vielen Dank
Antworten Top
#4
Dazu müssen wir eine Bedingung/mehrere Bedingungen definieren und vor dem speichern einfach abprüfen.

Beispiel:
Prüfe vor dem Speichern, ob in BD16 bereits ein Wert steht.
Wenn nein, dann speichern -> erstes Mal speichern
Wenn ja, dann nicht speichern -> zweites Mal
Aber in beiden Fällen, lösche Inhalte U16:15000, V16:V15000

Schreibe dafür:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If IsEmpty(Worksheets("Tabelle1").Range("BD16")) Then
   Worksheets("Tabelle1").Range("U16:U15000").Copy Destination:=Worksheets("Tabelle1").Range("BD16:BD15000")
  End If
Worksheets("Tabelle1").Range("U16:U15000, V16:V15000").ClearContents
End Sub
gruß
Marco
[-] Folgende(r) 1 Nutzer sagt Danke an Mase für diesen Beitrag:
  • Pirat2015
Antworten Top
#5
Perfekt Vielen Dank
Antworten Top


Gehe zu:


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