Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen Kopieren mit Formeln u. Formaten

Betrifft: Zeilen Kopieren mit Formeln u. Formaten von: Lemmi
Geschrieben am: 11.08.2008 14:11:35

Hallo zusammen,

ich möchte einen Block (5Zeilen) am Ende einer Tabelle einfügen!

Diese Zeilen sollen mit ihren Formaten unf Formel Kopiert und am Ende der Leiste eingefügt werden!
Die Formeln sind in den Roten Zellen.
Die Zellen sonst sind bis auf Spalte A und B ohne Inhalt!
Wird der Block eingefügt so soll das Nummernsystem mit einer Zahl höher neu beginnen!
(z. B) 003 (Spalte A) 000 Spalte B

So ein ähnliches Marko habe ich von Euch schon einmal bekommen!(...ist inder Datei)

Vieleicht brauch man diese nur anzupassen?

https://www.herber.de/bbs/user/54511.xls

Gruß

Lemmi

  

Betrifft: AW: Zeilen Kopieren mit Formeln u. Formaten von: fcs
Geschrieben am: 12.08.2008 09:44:02

Hallo Lemmi,

für das Kopieren der Zeilen 6 bis 12 ans Ende und Erhöhung der Nr. in Spalte A kannst du das folgende Makro verwenden.

Da du die Formeln weggelassen hast bin ich aber nicht sicher, ob diese speziell in der Überschriftszeile bei dir korrekt kopiert werden. ggf. muss hier nochmals angepasst werden.

Gruß
Franz

Sub CopyBlock()
  Dim lngLetzte As Long, lngNrLetzte As Long
  Dim wks As Worksheet
  Set wks = Worksheets("Tabelle1") 'ggf. Name anpassen
  With wks
    'letzte benutzte Zeile in Spalte A
    lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
    'letzte Nr. in Spalte A
    lngNrLetzte = .Cells(lngLetzte, 1) 'letzte Nr. in Spalte A
    'Zeilen kopieren
    .Range(.Rows(6), .Rows(12)).Copy
    .Cells(lngLetzte + 1, 1).Insert
    'neue Nr in Spalte A für eingefügte Zeilen eintragen
    .Range(.Cells(lngLetzte + 1, 1), .Cells(lngLetzte + 7, 1)).Value = lngNrLetzte + 1
    'Eingabewerte in kopierter Überschrift löschen
    .Range(.Cells(lngLetzte + 1, 3), .Cells(lngLetzte + 1, 4)).ClearContents
    .Range(.Cells(lngLetzte + 1, 6), .Cells(lngLetzte + 1, 14)).ClearContents
    .Cells(lngLetzte + 1, 16).ClearContents
    'Eingabewerte in kopierten 6 Zeilen löschen
    .Range(.Cells(lngLetzte + 2, 3), .Cells(lngLetzte + 7, 16)).ClearContents
  End With
End Sub




  

Betrifft: AW: Zeilen Kopieren mit Formeln u. Formaten von: Lemmi
Geschrieben am: 12.08.2008 14:29:55

Fanz Danke!

alles o.k. !

benötige noch eine kleine Anpassung!

Die Eingabewerte des kopierten Blocks in E6 ; U6 bis W11 sowie AF6 bis AX11 sollen nicht übernommen werden! Wie würde das Marko dann aussehen? (nur löschen der Einabewerte)

Wäre es möglich den Worksheet Namen Varialbel auszugestalten, so dass das Makro funktioniert ohne den Namen immer wieder neu anzupassen!
Bereich:
Set wks = Worksheets("Tabelle1") 'ggf. Name anpassen


Gruß

Lemmi


  

Betrifft: AW: Zeilen Kopieren mit Formeln u. Formaten von: fcs
Geschrieben am: 12.08.2008 16:01:16

Hallo Lemmi,

variable Tabelle:
mit folgender Anpassung wird das Makro immer im aktiven Tabellenblatt ausgeführt und Eingabewerte im kopierten Block entsprechend gelöscht.

Gruß
Franz

Sub CopyBlock()
  Dim lngLetzte As Long, lngNrLetzte As Long
  Dim wks As Worksheet
  Set wks = ActiveSheet 'ggf. Name anpassen
  With wks
    'letzte benutzte Zeile in Spalte A
    lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
    'letzte Nr. in Spalte A
    lngNrLetzte = .Cells(lngLetzte, 1) 'letzte Nr. in Spalte A
    'Zeilen kopieren
    .Range(.Rows(6), .Rows(12)).Copy
    .Cells(lngLetzte + 1, 1).Insert
    'neue Nr in Spalte A für eingefügte Zeilen eintragen
    .Range(.Cells(lngLetzte + 1, 1), .Cells(lngLetzte + 7, 1)).Value = lngNrLetzte + 1
    'Eingabewerte in kopierter Überschrift löschen
    .Range(.Cells(lngLetzte + 1, 3), .Cells(lngLetzte + 1, 14)).ClearContents 'Spalten C bis N
    .Cells(lngLetzte + 1, 16).ClearContents 'Spalte P
    .Range(.Cells(lngLetzte + 1, 21), .Cells(lngLetzte + 1, 23)).ClearContents 'Spalten U bis W
    .Range(.Cells(lngLetzte + 1, 32), .Cells(lngLetzte + 1, 50)).ClearContents 'Spalten AF bis  _
AX
    'Eingabewerte in kopierten 6 Zeilen löschen
    .Range(.Cells(lngLetzte + 2, 3), .Cells(lngLetzte + 7, 16)).ClearContents 'Spalten C bis P
    .Range(.Cells(lngLetzte + 2, 21), .Cells(lngLetzte + 7, 23)).ClearContents 'Spalten U bis W
    .Range(.Cells(lngLetzte + 2, 32), .Cells(lngLetzte + 7, 50)).ClearContents 'Spalten AF bis  _
AX
  End With
End Sub




  

Betrifft: AW: Zeilen Kopieren mit Formeln u. Formaten von: Lemmi
Geschrieben am: 12.08.2008 22:36:22

Hallo Franz,

vielen Dank für die Unterstützung!


Gruß

Lemmi


 

Beiträge aus den Excel-Beispielen zum Thema "Zeilen Kopieren mit Formeln u. Formaten "