AW: Tabelle einfach erweitern (kopieren)
04.07.2017 15:39:47
Michael
Hallo!
Füge die beiden folgenden Makros in Deine Originaldatei ein.
Dieses Makro fügst Du in das Modul des Tabellenblattes "Tabelle1" (bzw. wie auch immer jenes heißt) ein. Dazu klicke mit der rechten Maustaste auf den Tabellenblatt-Reiter, Code anzeigen, es öffnet sich der VB-Editor dort dann im großen, weißen Feld oben rechts einfügen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
Call a
Cancel = True
End If
End Sub
Du bist nun schon im VB-Editor. Klicke in der Menüleiste (vom VB-Editor, NICHT von Excel) auf Einfügen, Modul. Du solltest links oben im VB-Editor eine Art Explorer-Ansicht sehen; klicke in dieser doppelt auf "Modul1" - und dort fügst Du folgenden Code ein:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim Basis As Range, Gruppe As Range, BlockStart&
Application.ScreenUpdating = False
With Ws
Set Basis = .Range("B2:Z32")
BlockStart = WorksheetFunction.CountA(.Range("B:B")) * 33
Basis.Copy Destination:=.Cells(BlockStart, 2)
Set Gruppe = .Range(.Cells(BlockStart + 2, 2), _
.Cells(BlockStart + 32, 26))
Gruppe.Rows.Group
End With
End Sub
Beachte: Im Code gehe ich davon aus, dass die Tabelle mit den Projekt-Blöcken "Tabelle1" heißt; falls das im Original anders ist, musst Du das hier anpassen:
Set Ws = Wb.Worksheets("Tabelle1")
Außerdem ist erforderlich, dass es zumindest einen Projekt-Block, im Bereich "B2:Z32", schon gibt - ich kopiere diesen Bereich einfach und füge ihn unten an.
Da ich Deine Original-Datei nicht kenne, kann ich nur hoffen, dass diese genau den Bedingungen Deiner Bsp-Datei entspricht - sonst kann es natürlich sein, dass der Code nicht vollständig klappt.
LG
Michael