2016-08-17 12 views
0

Ich bin komplett neu in Makros/VBA. Ich versuche nur, eine Schaltfläche zu erstellen, die eine neue Zeile hinzufügen soll. Ich möchte auch Formeln aus der Zeile oben in die neue Zeile kopieren. Mein Start Spalte B.Excel-VBA-Taste, die eine neue Zeile hinzufügt und aus der Zeile oberhalb kopieren

dies ist ein Code i von irgendwo kopiert

Private Sub Button1_Click(Optional line As Integer = -1) 
    Dim target As Range 
    Dim cell As Range 
    Dim rowNr As Integer 

    Set target = Range("B5:BH323") 

    If line <> -1 Then 
     rowNr = line 
    Else 
     rowNr = target.Rows.Count 
    End If 

    target.Rows(rowNr + 1).Insert 
    target.Rows(rowNr).Copy target.Rows(rowNr + 1) 
    For Each cell In target.Rows(rowNr + 1).Cells 
     If Left(cell.Formula, 1) <> "=" Then cell.Clear 
    Next cell 

End Sub 

dieser Code gut funktioniert. Es fügt eine neue Zeile mit den Formeln ein, aber in diesem Code wird nur unterhalb des im Code erwähnten Bereichs eingefügt. Ich möchte, dass die Einfügung nach der letzten Zeile mit Daten erfolgt. Kann jemand diesen Code bitte korrigieren, auch der neu eingefügte kopiert die Grenzen nicht.

Was ich brauche, ist die Linie, die die letzte Zeile mit Daten angibt und auch dafür sorgt, dass das Rahmenformat als auch kopiert wird

Antwort

0

verwenden, um Zellen (Rows.Count, „B“). End (xlUp) .Zu finden, die letzte Zeile.

+0

Ich habe die Zeile Range ("B5: BH323") mit Ihrer ersetzt. Wenn ich auf den Knopf klicke, passiert nichts. – Danny

Verwandte Themen