Makro für die personl.xls abändern
WalterK
den folgenden Code habe ich in der Recherche gefunden und er entspricht fast dem, was ich auch bräuchte. Er legt ein neues Blatt an, vergibt einen Namen und kopiert einen Bereich vom aktiven Blatt in das neue Blatt.
Kann mir jemand die notwendigen Änderungen im Code durchführen:
1.) Den Code habe ich in der personl.xls platziert und starte ihn mit einer Schaltfläche in der Symbolleiste. Allerdings wird jetzt in der personl.xls ein neues Blatt angelegt. Das sollte aber in meiner gerade aktiven Mappe passieren. Zur Info: Ich weiß nie, wie die Quelltabelle heißt.
2.) Die Spaltenbreite sollte auch mitgegeben werden.
3.) In der Zeile 1 sollten die Formeln erhalten bleiben.
Hier noch der Code:
Option Explicit
Sub Blattanlegen()
Dim objSh As Worksheet, objShNew As Worksheet
Dim intCol As Integer, intMax As Integer
Dim lngRow As Long, lngMax As Long
Set objSh = ActiveSheet
With objSh
For intCol = 3 To Columns.Count
lngMax = Application.Max(lngMax, .Cells(Rows.Count, intCol).End(xlUp).Row)
Next
For lngRow = 2 To lngMax
intMax = Application.Max(intMax, .Cells(lngRow, Columns.Count).End(xlToLeft).Column)
Next
Set objShNew = ThisWorkbook.Worksheets.Add(after:=objSh)
objShNew.Name = "NEU " & Format(Now, "dd/mm/yyyy hhmmss")
.Range(.Cells(1, 1), .Cells(lngMax, intMax)).Copy objShNew.Range("A1")
End With
Set objSh = Nothing
Set objShNew = Nothing
End Sub
Besten Dank für die Hilfe und Servus, WalterAnzeige