Я пытаюсь создать архив для некоторых ручных вводов. У меня это работало, но когда архив был скрыт, у меня возникли некоторые проблемы.
Sub Archive()
Dim sDumpRange As String
Dim sDumpSheet As String
sDumpSheet = "Active archive"
If Range("C6") <> Empty Then
pRow = Sheets(sDumpSheet).Range("I1")
If pRow > 1 Then
Range("A2:E" & pRow).Delete Shift:=xlUp
Else
End If
sDumpRange = "'" & Sheets("Active archive") & "'!" & "A" & Range("A5000").End(xlUp).Row + 1
' sDumpRange = "A" & Range("A5000").End(xlUp).Row + 1
Sheets("call-outs completed").Range("a10:e109").Copy
Worksheets(sDumpSheet).Range(sDumpRange).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("call-outs completed").Range("a10:a109").ClearContents
Sheets("call-outs completed").Select
Range("A11").Select
Else
MsgBox "Data not archived. Please select your name first and try again."
End If
End Sub
Существует одна ячейка, подсчитывающая, сколько строк с датой старше 2 месяцев, а затем эти старые данные удаляются (удалить раздел с помощью pRow).
Я пробовал разные вещи, и теперь sDumpRange
был изменен, и он не работает, но когда это было, казалось, что он вычислял диапазон в неправильном листе ввода данных. Это была десятка копируемых в архив из неправильной ячейки (Активный архив А11). И при обновлении данные были перезаписаны, так как лист ввода также очищается. Ключ, кажется, теперь находится в пределах sDumpRange
расчета.