Letzte Zeile nach unten kopieren
#1
Hallo,
Bitte um VBA Hilfe!
in meiner dynamischen Tabelle sollte via Button die letzte Zeile kopiert 
und 1 Zeile tiefer eingefügt werden.

Vielen Dank für die Hilfe

Gruß Derhard
Top
#2
Hallo

gemäß deiner Angaben sieht das bei mir so aus
Code:
Sub test()
   Dim lngLetzte As Long
   lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
   Rows(lngLetzte).Copy Cells(lngLetzte + 1, 1)
End Sub
MfG Tom
[-] Folgende(r) 1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag:
  • derhard
Top
#3
Hallo Derhard,

wenn es um eine Tabelle im Tabellenblatt geht, vielleicht so?

Sub Zeile_Anhaengen()
 With ActiveSheet.ListObjects(1).Range
   .Rows(.Rows.Count).Copy
   .Rows(.Rows.Count).Offset(1).Insert
 End With
 Application.CutCopyMode = False
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • omron2003
Top
#4
Hallo auch von mir!
Ich bin "halb" bei Uwe.  Angel
Es reicht, eine Zelle Deiner Tabelle zu markieren und diese dann per Einfügen, Tabelle in ein Listobject ("intelligente Tabelle") umzuwandeln.
Trägst Du jetzt etwas in die Zeile unter der Tabelle ein, werden automatisch Formeln und Formate weitergeführt, da braucht es keinen Code.
(davon ausgehend, dass es Dir wirklich "nur" um Formeln und Formate geht)

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
#5
Hallo Leute,

ich möchte gerne mal die interessanten Code von Uwe austesten. Dazu habe ich in der ersten Spalte mal in ein paar Zellen Text untereinander geschrieben.

Wenn ich nun beim Code-Testen auf die Einzelschritttaste F8 drücke erscheint immer "Index außerhalb des gültigen Bereichs". Was mache ich falsch?
Top
#6
Hi!
Du hast keine "intelligente Tabelle"!
Siehe auch meinen Beitrag #4

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
#7
Hallo Algor,

vermutlich hast Du den Bereich noch nicht in eine Tabelle umgewandelt.
Markiere eine Zelle des Bereiches und drücke Strg+L.

Gruß Uwe
Top
#8
Hi

dann hast du wahrscheinlich keinen als Tabelle formatierten Bereich
und deshalb Laufzeitfehler 9 weil da kein "Listobject" ist

MfG Tom
Top
#9
Hallo,

habe die Spalten als Text formatiert. Leider ohne Ergebnis. Dann habe ich mittes Makrorekorder dieses Textformatieren aufgezeichnet und den Code oben um folgendes ergänze:


Code:
Columns("A:C").Select
Selection.NumberFormat = "@"
Range("A1").Select

Hab also gleich 3 Spalten als Text formatiert und die Auswahl wieder auf Zelle A1 gesetzt. Leider immer noch negativ.
Top
#10
Hallo Uwe,

danke Dein Tipp hat geholfen. Hatte keine Tabelle und hab keine Ahnung. Aber jetzt funktioniert es und ich kann etwas von euch lernen.
Top


Gehe zu:


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