Zellinhalte kopieren
#1
Hallo zusammen Biggrinsmiley Biggrinsmiley Biggrinsmiley ,

ich habe folgendes Problem:

ich habe eine Tabelle mit insgesamt 2 Blättern.

Im ersten Blatt werden in insgesamt 10 Spalten unterschiedliche Eingaben gemacht. Die Zeilenanzahl ist unbegrenzt. (Es sollen viele Eingaben "untereinander" fortlaufend eingegeben werden.)

Im ersten Blatt soll in der letzten Spalte ein "Button" oder ähnliches mit "erledigt" angefügt werden.

Sobald dieser "Button" getätigt wird soll der komplette Zelleninhalt der Zeile in das Blatt 2 (Archiv) kopiert werden. Außerdem soll danach der Zellinhalt im Blatt 1 gelöscht werden.

Ich wäre euch für eine Hilfestellung sehr dankbar!

Grüße und noch allen ein schönes langes Wochenende!!!

Thomas :15:
Top
#2
Hallo Thomas,

mein Vorschlag ist, das Kopieren per Doppelklick irgendwo in der entsprechenden Zeile zu starten.
Dazu kommt folgender Code in das schon vorhandene VBA-Modul des Tabellenblattes Tabelle1:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Target.EntireRow
   .Copy Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1)
   .Value = ""
 End With
End Sub
Gruß Uwe
Top
#3
Hi Uwe,

wie müßte der Code geändert werden, wenn in Tab2 der erste Eintrag in Zeile 1 erfolgen kann? Aufgrund Offset(1) gehts ja in einer leeren Tabelle in 2 los.
Mit freundlichen Grüßen  :)
Michael
Top
#4
Hi Micha,

(30.10.2017, 12:37)Zwergel schrieb: wie müßte der Code geändert werden, wenn in Tab2 der erste Eintrag in Zeile 1 erfolgen kann? Aufgrund Offset(1) gehts ja in einer leeren Tabelle in 2 los.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Worksheets("Tabelle2")
Target.EntireRow.Copy .Cells(Rows.Count, 1).End(xlUp).Offset(1 + (.Cells(1) = ""))
Target.EntireRow.Value = ""
End With
End Sub
Gruß Uwe
Top
#5
Hi Uwe,

funktioniert, danke, aber erklär mir bitte den Teil
Zitat:Offset(1 + (.Cells(1) = "")
Mit freundlichen Grüßen  :)
Michael
Top
#6
Hi Micha,

die Behauptung (im Beispiel für die Zelle A1)
.Cells(1) = ""
ergibt je nach Wahrheitsgehalt True oder False.
Umgewandelt in Werte (hier durch die Klammern erzwungen)
(.Cells(1) = "")
ergibt entsprechend -1 oder 0.

Gruß Uwe
Top
#7
Hi Uwe,

danke, mir war nicht klar, das True die -1 ergibt.
Mit freundlichen Grüßen  :)
Michael
Top


Gehe zu:


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