Clever-Excel-Forum

Normale Version: Initialisieren Elemente einer Spalte in unterschiedlicher Formatierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

wer kann mir weiterhelfen?

Ich kopiere eine Spalte und lege ein neues Tabellenblatt nach einem Muster an.[attachment=7493]

Sub Neue_Spalte_anlegen()
    Dim Spalte As Long
    Dim Zeile As Long
    Dim ZeileL As Long
   
    Dim wks As Worksheet
   
    Set wks = ActiveSheet
   
    Zeile = 6               'Zeile mit den Kunden-Nummern
       
    With wks
        Spalte = .Cells(Zeile, .Columns.Count).End(xlToLeft).Column
        ZeileL = .Cells(.rows.Count, Spalte).End(xlUp).Row
        With .Range(.Cells(Zeile, Spalte), .Cells(ZeileL, Spalte))
            .Copy .Offset(0, 1)
        End With
        .Cells(Zeile, Spalte + 1).Value = .Cells(Zeile, Spalte).Value + 1
    End With
   
    Worksheets("Muster").Copy After:=Worksheets(Worksheets.Count)
    Worksheets(Worksheets.Count).Name = "Firma " & wks.Cells(Zeile, Spalte).Value + 1
   
    'Hier müsste jetzt eine Funktion stehen, die die Elemente der kopierten Spalte initialisiert (Null oder Blank)
    'ohne die Formatierung oder eventuell hinterlegte Formeln zu überschreiben.
   
    Worksheets("Übersicht").Activate
   
End Sub

Zur Verdeutlichung habe ich die Tabelle in Ihrer Gesamtheit noch angefügt.

Vielen Dank im Voraus.

Michael
Hallo Michael,

was bedeutet denn das:
Zitat:    'Hier müsste jetzt eine Funktion stehen, die die Elemente der kopierten Spalte initialisiert (Null oder Blank)
    'ohne die Formatierung oder eventuell hinterlegte Formeln zu überschreiben.
Ich könnte mir vorstellen, dass Du alle Zellen, die keine Formeln enthalten, leeren willst?

Schaue dazu mal die SpecialCells an.
ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)....

Damit könntest Du die entsprechenden Zellen leeren.