У меня есть подпрограмма, в которой я хочу создать таблицу, чтобы потом ее можно было отсортировать (один из столбцов должен быть в порядке убывания).
Суббота работает, когда у меня открытая книга и на правильном листе.
Когда я пытаюсь запустить код без необходимости одновременно просматривать рабочий лист, появляется следующая проблема:
«Метод« Range »объекта object_global« не удался »
"Невозможно выполнить код в режиме прерывания"
Вот так выглядит мой саб. Строка является статической, но длина столбца время от времени меняется.
Sub create_the_table_investeringsforeninger()
' Best used when row length is static
Dim sht As Worksheet
Dim LastRow As Long
Dim Lrow As Long
Set sht = ThisWorkbook.Worksheets(2)
'Refresh UsedRange
ThisWorkbook.Worksheets(2).UsedRange
Lrow = Range("D" & Rows.Count).End(xlUp).Row
sht.ListObjects.Add(SourceType:=xlSrcRange, Source:=sht.Range("A2:F2" & Lrow)).Name = "Investeringsforeninger"
'Sort Range "Investeringsforeninger"
Range("investeringsforeninger").Sort Key1:=Range("F2"), order1:=xlDescending, Header:=xlYes
End Sub
Предполагается, что весь мой код выполняется без предварительного открытия документа (для этого я использую документ VBS).