Привет, у меня есть лист Excel с 5 аналогичными столбцами для каждого месяца (январь, февраль и т. д.).

У меня есть код VBA, который автоматически создаст столбцы на следующий месяц (в данном случае это будет март). После ввода данных за март я хочу, чтобы мой файл был сохранен как March.xls, удалив данные за оставшуюся часть месяца (при сохранении данных за все месяцы в исходном файле). есть ли способ сделать это с помощью VBA? Я был бы признателен за ваши ответы относительно того же. Я хочу, чтобы мой файл каждого месяца "сохранялся как" ниже: 
Я нашел приведенный ниже код в Интернете, и он выполняет свою работу. Единственная проблема заключается в том, что мне нужно ввести имя столбца, который я хочу удалить в этом коде, например: «Апрель» в коде. Можно ли заставить этот код работать таким образом, чтобы автоматически сохранять последние четыре столбца и первый (столбец идентификатора) и удалять остальные. Спасибо
Sub DeleteData()
Dim ws As Worksheet
Dim ColList As String, ColArray() As String
Dim LastCol As Long, i As Long, k As Long, l As Long, m As Long, j As Long
Dim boolFound As Boolean
Dim delCols As Range, delCols1 As Range, delCols2 As Range, delCols3 As Range
Application.ScreenUpdating = False
Set ws = Sheets("Sheet1")
ColList = "April"
ColArray = Split(ColList, ",")
LastCol = ws.Cells.Find(What:="*", After:=ws.Range("A1"), Lookat:=xlPart, _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, _
MatchCase:=False).Column
For i = 8 To LastCol
boolFound = False
For j = LBound(ColArray) To UBound(ColArray)
If UCase(Trim(ws.Cells(1, i).Value)) = UCase(Trim(ColArray(j))) Then
boolFound = True
Exit For
End If
Next
If boolFound = False Then
If delCols Is Nothing Then
Set delCols = ws.Columns(i)
Else
Set delCols = Union(delCols, ws.Columns(i))
End If
End If
Next i
If Not delCols Is Nothing Then delCols.Delete