Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: aktuelle Zeile kopieren und darunter einfügen

VBA: aktuelle Zeile kopieren und darunter einfügen
13.07.2015 11:33:11
mikr8
hallo,
ich habe folgendes anliegen...
ich habe eine liste mit verschiedenen Kriterien, sobald ich in Spalte L ein X eintrage, möchte ich, dass eine neue Zeile darunter eingefügt wird und die Werte aus Spalten A bis I übernommen werden.
ist das möglich?
Kann mir hierbei jemand helfen?
danke!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nix VBA - Tabelle!
13.07.2015 11:47:21
EtoPHG
Hallo mikr8
Das lässt sich ohne VBA elegant mit einer Tabelle lösen!
Im Datenbereich Ctrl-T und fertig.
Tab (Ctrl-I) auf der letzten Tabellenzelle fügt automatisch eine neu Zeile ein!
Gruess Hansueli

AW: zum testen
13.07.2015 11:51:36
Bernd
Hi!
nicht getestet, aber das hier habe ich gefunden:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeile As Long
' nur beim Ändern einer Zelle
If Target.Count > 1 Then Exit Sub
Zeile = Target.Row
'nur bei Änderungen in Spalte 12(L)
If Target.Column = 12 Then
Application.EnableEvents = False
Range(Cells(Zeile, 1), Cells(Zeile, 11)).Copy
Range(Cells(Zeile + 1, 1), Cells(Zeile + 1, 11)).Insert xlDown
With Application
.CutCopyMode = False
.EnableEvents = True
End With
End If
End Sub
sollte bei jedem Eintrag in L funktionieren, aber ob es so passt, kann ich auch nicht recht sagen.
mfg Bernd

Anzeige
AW: zum testen - Nachtrag
13.07.2015 11:57:36
Bernd
Hi!
für A-I so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeile As Long
' nur beim Ändern einer Zelle
If Target.Count > 1 Then Exit Sub
Zeile = Target.Row
'nur bei Änderungen in Spalte 12(L)
If Target.Column = 12 Then
Application.EnableEvents = False
Range(Cells(Zeile, 1), Cells(Zeile, 9)).Copy
Range(Cells(Zeile + 1, 1), Cells(Zeile + 1, 9)).Insert xlDown
With Application
.CutCopyMode = False
.EnableEvents = True
End With
End If
End Sub
lg Bernd

AW: zum testen
13.07.2015 12:09:24
mikr8
Danke,
Mit diesem Code wird bei jeder Änderung eine Zeile unterhalb eingefügt.
Jedoch werden alle Zelleninhalte nicht nur A bis I kopiert und es ist wie gesagt bei jeder Änderung.
Wie muss ich den code abändern, sodass dies ausschließlich bei einem "x" geschieht?
danke!

Anzeige
AW: zum testen
13.07.2015 12:12:07
Bernd
Hi,
für A-I musst Du meinen 2 Code verwenden. Wie das mit einem X funktioniert, da muss ein VBA Profi ran, ich hab den Code nur mal als Ansatz reingestellt um diesen eventuell dementsprechend zu erweitern.
lg Bernd

AW: zum testen
13.07.2015 12:29:51
Bernd
Hallo nochmals,
mit der Hilfe von Hansueli geht es bei mir so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeile As Long
' nur beim Ändern einer Zelle
If Target.Count > 1 Then Exit Sub
Zeile = Target.Row
'nur bei Änderungen in Spalte 12(L)
If Target.Column = 12 And Target.Cells(1, 1) = "x" Then
Application.EnableEvents = False
Range(Cells(Zeile, 1), Cells(Zeile, 9)).Copy
Range(Cells(Zeile + 1, 1), Cells(Zeile + 1, 9)).Insert xlDown
With Application
.CutCopyMode = False
.EnableEvents = True
End With
End If
End Sub
lg Bernd

Anzeige
...na dann...
13.07.2015 12:21:43
EtoPHG
Wer nicht hören will muss fühlen, mikr8 ;-)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 12 And Target.Count = 1 And _
IsEmpty(Target.Offset(1, -11)) And Target.Cells(1, 1) = "x" Then
Application.EnableEvents = False
Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy _
Cells(Target.Row, 1).Offset(1)
Application.EnableEvents = True
End If
End Sub

Gruess Hansueli

AW: ...na dann...
13.07.2015 13:49:23
mikr8
Danke!
die Mischung war genau das was ich gesucht habe!

83 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige