2017-12-28 16 views
-1

Ich habe ein Blatt, in dem ich täglich in einfachen Daten kopieren (beim Entfernen der alten Daten). Die kopierten Daten befinden sich in Spalte A: E, während sich die Formel in Spalte F befindet. Die Formel in Spalte F basiert auf den Daten in Spalte A.VBA: Formel auf die neueste Zeile ziehen

Da die Menge der kopierten Daten von Tag zu Tag variiert Ich würde eine VBA-Formel benötigen, die sich automatisch an die Anzahl der Zeilen anpasst, die ich an einem bestimmten Tag einfüge.

Irgendwelche Vorschläge?

Danke, Viktor

Antwort

0

Hier ist ein ich, bevor sie auf Arbeitsblätter verwendet haben. Wenn Sie eine Änderung A1 machen: E10 (oder was auch immer Bereich eingestellt Sie dort), wird es Ihre Formeln

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Application.Intersect(Target, Me.Range("A1:E10")) Is Nothing Then 
     Range("F2").AutoFill Destination:=Me.Range("TableName[columnName]") 
    End If 
End Sub 

Formatierung als Tabelle nach unten ziehen, dann die Spaltennamen verwenden, ist einfacher als der Versuch zu machen Sicher hast du die volle Bandbreite. Obwohl du auch so etwas machen könntest.

Private Sub Worksheet_Change(ByVal Target As Range) 
    Set r = Range("F2:F" + CStr(Cells(Rows.Count, 1).End(xlUp).Row())) 

    If Not Application.Intersect(Target, Me.Range("A1:E10")) Is Nothing Then 
     Range("F2").AutoFill Destination:=r 
    End If 
End Sub