Здравствуйте уважаемые форумчане!
Прошу помощи в правке макроса. Сам имею зачаточные знания ВБА, поэтому в основном записываю небольшие макросы через встроенный макрорекордер, могу слегка подкорректировать
Смысл макроса простой - приводит открытый файл в нужный вид, удаляя некоторые столбцы, вытаскивает из эталонного файла значения для сравнения, сортирует выделенное по дате/времени и копирует в новый файл.
После смены компьютера и перехода на офис 2016 макрос стал вылетать на этапе сортировки (строка подсвечена красным).
Sub withError()
'
' withError Макрос
'
'
Columns("B:C").Select
Selection.Delete Shift:=xlToLeft
Columns("C:E").Select
Selection.Delete Shift:=xlToLeft
Columns("G:M").Select
Selection.Delete Shift:=xlToLeft
Columns("F:F").Select
Selection.Cut
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Range("G11").Select
ActiveCell.FormulaR1C1 = "=ROUND((RC[-6]*1)&(RC[-5]*1),7)"
Range("H11").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC7,'C:\[Медиаскоп текущий.xlsx]Лист1'!C1:C29,2,0)"
Range("I11").Select
Selection.NumberFormat = "[h]:mm:ss;@"
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC7,'C:\[Медиаскоп текущий.xlsx]Лист1'!C1:C29,9,0)"
Range("J11").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC7,'C:\[Медиаскоп текущий.xlsx]Лист1'!C1:C29,11,0)"
lr = Cells(Rows.Count, 2).End(xlUp).Row
Range("G11:J11").AutoFill Destination:=Range("G11:J" & lr), Type:=xlFillDefault
Range("E11").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = _
"=IF(RC[5]=""Ролик"",""Ролик"",IF(RC[5]=""Спонсорская заставка"",""Спонсорская заставка"",IF(RC[5]=""Анонс: спонсорская заставка"",""Спонсорская заставка"",""Спонсор показа"")))"
Range("E11").AutoFill Destination:=Range("E11:E" & lr), Type:=xlFillDefault
Range("A11:F" & lr).Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("A11:A" & lr), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B11:B" & lr), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A10:F" & lr)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Selection.Copy
Workbooks.Open Filename:="C:\Рыба1.xlsx"
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ler = Cells(Rows.Count, 2).End(xlUp).Row
lep = Cells(Rows.Count, 1).End(xlUp).Row
Rows((ler + 1) & ":" & lep).Select
Selection.Delete Shift:=xlUp
Range("A1:G" & (ler + 2)).Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ЕОШИБКА(A1)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub