Clever-Excel-Forum

Normale Version: Aktive Zelle kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,
Bitte um VBA Hilfe!
Wie kann ich die Aktive Zelle in der gleichen Spalte an das Zeile Ende in einer dynamischen Tabelle kopieren?

Vielen Dank für Eure Hilfe

Gruß Derhard
Hallo Derhard

deine Angaben sind für VBA zu dürftig. Zum kopieren müsste man schon wissen in welcher Tabelle und Spalte sich die AktiveZelle befindet, und in welche Tabelle und welche Spalte kopiert werden soll??  Immer ans Ende?   Ohne die Tabellen Namen und Spalten zu kennen wird dat nix.  Heiteres Ratespiel!!

mfg  Gast 123
Hallo,
Es sollte immer von der aktuellen Tabelle und von der aktuellen Spalte der Zellinhalt der momentan ausgewählten Zelle in der aktiven Spalte an das Tabellenende dieser Spalte kopiert werden!
siehe Beispiel im Anhang

Gruß Derhard
Hallo Derhard

dein Beispiel mit Makro Lösung zurück.  Das Makro funktioniert in allen Spalten und merkt wenn es eiine Leerspalte ist.

Zum auslösen braucht man einen Button, denn das kann man nicht automatisieren!  Dann würde jede Eingabe ans Ende gestellt werden und das Makro würde über 1 Million Zeilen unerbittlich vollschreiben. 

mfg Gast 123
Sorry,  Datei wurde nicht richtig geladen.
Hallo,

oder per Doppelklick in die Zelle:


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Cells(Cells(Rows.Count, Target.Column).End(xlUp).Row + 1, Target.Column) = Target
 Target = ""
 Cancel = True
End Sub


Der Zellinhalt wird nach Übertrag gelöscht.
Wenn nicht gewollt dann folgende Zeile aus dem Code löschen:


Code:
Target = ""
Hallo,
Vielen Dank für die Hilfe,
es funktioniert aber leider nicht so wie ich es benötige wenn in der Spalte eine Leerzelle ist wird leider diese gefüllt und nicht das Spaltenende!
Bei der Version mit Doppelklick wird es richtig ausgeführt aber mit einem Doppelklick möchte ich es nicht durchführen sondern mit einem Button!

Gruß Derhard
Hallo,

dann Target mit Selection austauschen und aus dem Ganzen eine Sub() machen:


Code:
Sub kopier_nach_unten()
Cells(Cells(Rows.Count, Selection.Column).End(xlUp).Row + 1, Selection.Column) = Selection
Selection = ""
End Sub
Hallo Derhard

kein Problem, tausche den Code einfach aus, dann sollte es klappen

mfg  Gast 123

Code:
Sub Wert_ans_Tabellenende()
'Aktive Spalte ermitteln
spa = ActiveCell.Column

'Fehlermeldung bei Ungültiger Spalte  (1. Zelle Leer)
If Cells(1, spa) = "" Then MsgBox "Ungültige Spalte": Exit Sub

'LastZellin Spalte ermitteln
lz = Cells(Rows.Count, spa).End(xlUp).Row

'Wert AktiveZelle ans Ende übertragen
Cells(lz + 1, spa).Value = ActiveCell.Value
End Sub
Moin!
Oder ein hübscher Einzeiler:
Code:
ActiveCell.Cut Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1, 0)

Wenn kopiert werden soll, dann einfach .Copy statt .Cut

Gruß Ralf
Seiten: 1 2