This coding, with some adaptation on your side, will do the trick. Try it first on some bogus file to be sure.
You need to find the column that holds the expiry license. Then the last column you use in your setup.
Sub copy_visible_rows()
'variable for your workbook
Dim mywb As Workbook
'destination worksheet
Dim wsdest As Worksheet
'initial data Worksheet
Dim wsstart As Worksheet
'no of rows in wsstart before filtering
Dim mylrow As Long
'declare as date
Dim dDate As Date
'declare as long (using numbering of excel for dates)
Dim lDate As Long
'store today in datevariabele
dDate = DateSerial(Year(Now), Month(Now), Day(Now))
'save as number
lDate = dDate
'define the holder mywb
Set mywb = ActiveWorkbook
'define the destination = archive for expired licenses
'named Archive = a sheet with the name Archive must exist
Set wsdest = mywb.Worksheets("Archive")
'the initial startsheet with all the data is sheet you look at
'when you start this macro
Set wsstart = mywb.ActiveSheet
'count no of rows where F = column of licenses
mylrow = wsstart.Range("F" & Rows.Count).End(xlUp).Row
'set the alerts for deleting visible filtered rows = expired licenses off
Application.DisplayAlerts = False
'with starting sheet
With wsstart
'set filtermode on
If .AutoFilterMode = False Then
'turn autofilter on
'field:=6 = count no of columns until date field is located
'F = column 6 a = 1
.Range("F1").AutoFilter field:=6, Criteria1:="<" & lDate
'copy a2 to n & lastrow with special bonus only visible filtered rows
'and place them to destination sheet a row below the lowest row
'if destination sheet has row 6 filled in column A then the offset
'row will be used to start
.Range("A2:N" & mylrow).SpecialCells(xlCellTypeVisible).Copy _
wsdest.Range("A" & wsdest.Range("A" & Rows.Count).End(xlUp).Row).Offset(1)
'remove the copied selection to archive from initial startsheet
.Range("A2:N" & mylrow).SpecialCells(xlCellTypeVisible).Delete
'turn autofilter off
.Range("F1").AutoFilter
Else
MsgBox ("Turn autofilter of before archiving."), vbInformation
End If
End With
'restore the alerts of excel
Application.DisplayAlerts = True
End Sub
Charlize