Aktive Zelle kopieren
#1
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
Top
#2
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
Top
#3
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


Angehängte Dateien
.xls   Test.xls (Größe: 31,5 KB / Downloads: 4)
Top
#4
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
Top
#5
Sorry,  Datei wurde nicht richtig geladen.


Angehängte Dateien
.xls   Test F.xls (Größe: 61 KB / Downloads: 1)
Top
#6
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 = ""
Gruß Atilla
Top
#7
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
Top
#8
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
Gruß Atilla
Top
#9
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
Top
#10
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


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