Hallo liebes Forum, mein Name ist Frank und ich fange gerade erst mit Excel an und habe direkt schon ein Problem. Ich habe eine intelligente Tabelle und möchte per Button die aktuelle Zeile kopieren und direkt darunter einfügen. Es wäre sehr nett wenn mir jemand helfen könnte. Habe eine Beispieldatei angehängt allerdings ohne Code da ich gar nicht wusste wo ich anfangen soll. Grüße Frank
was heißt "direkt darunter einfügen"? Unterhalb der Tabelle - also als nächsten Datensatz - oder soll eine Zeile eingefügt werden? Was ist der genaue Hintergrund? Ich frag das deshalb, weil solche Kopier- und Einfügeaktionen meist nicht nötig sind.
Hallo es soll eine Zeile eingefügt werden mit dem gleichen Inhalt wie der aktuellen Zeile. Hintergrund ist der das sich die Tabelle stetig erweitert und manchmal ähnlich wie eine bereits vorhandene Zeile ist. In diesem Fall möchte ich nicht nur eine leere Zeile hinzufügen sondern eben wie oben beschrieben. Die Zeile sollte dann direkt unter der aktuellen neu eingefügt werden.
25.05.2024, 11:04 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2024, 11:04 von RPP63.)
Moin! Gerade weil Du gerade erst mit Excel anfängst, schildere ich Dir die Methode, wie man das mit Tastatur und Maus löst. VBA ist hier absolut nicht notwendig! • markiere die Tabellenzeile, indem Du den Mauszeiger nahe an den linken Rand der Tabelle führst, bis er so aussieht: → drücke die linke Maustaste, dadurch wird die Zeile des Tabellenobjekts markiert: • jetzt ziehst Du bei gedrückter Strg-Taste die Tabellenzeile als Kopie an die Stelle, wo der Zeilentrenner so aussieht: |———|
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)
Folgende(r) 2 Nutzer sagen Danke an RPP63 für diesen Beitrag:2 Nutzer sagen Danke an RPP63 für diesen Beitrag 28 • Frank7733, Sabotaz
Private Sub CommandButton1_Click() If Not Intersect(ActiveCell, ActiveSheet.ListObjects("Tabelle1").DataBodyRange) Is Nothing Then With Intersect(ActiveCell.EntireRow, ActiveSheet.ListObjects("Tabelle1").DataBodyRange.EntireColumn) .Copy .Insert End With End If End Sub
Gruß, Uwe
Folgende(r) 2 Nutzer sagen Danke an Kuwer für diesen Beitrag:2 Nutzer sagen Danke an Kuwer für diesen Beitrag 28 • Frank7733, Sabotaz
Zitat:aber ich versuche gerade mich mit VBA auseinanderzusetzen.
Das ist ja auch ok. Aber gerade für den Anfang ist es mMn sehr hilfreich, die Bordmittel zu kennen. Daher finde ich die Antwort von Ralf sehr zielführend.
25.05.2024, 16:56 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2024, 16:57 von snb.)
Alternative:
Code:
Sub M_snb() On Error Resume Next With ActiveCell.ListObject.ListRows(ActiveCell.Row - 2).Range .Copy .Insert End With Application.CutCopyMode = False End Sub
NB. Bitte keine 'protected' Dateien hochladen !!! Fang immer an in A1.
(25.05.2024, 16:56)snb schrieb: Fang immer an in A1.
nimm es nicht sooo Ernst, was snb hier so dogmatisch empfiehlt. Meistens sind es eher seine persönlichen Vorlieben. Hier sieht das z.B. jemand ganz anders: Listen (Tabellen) Speziell hier der letzte Abschnitt.