Создание и сортировка динамической таблицы - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть подпрограмма, в которой я хочу создать таблицу, чтобы потом ее можно было отсортировать (один из столбцов должен быть в порядке убывания).

Суббота работает, когда у меня открытая книга и на правильном листе.

Когда я пытаюсь запустить код без необходимости одновременно просматривать рабочий лист, появляется следующая проблема:

«Метод« 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).

1 Ответ

0 голосов
/ 25 апреля 2019

Вам не хватает ссылок на ваш рабочий лист, поэтому он работает только тогда, когда это активный лист.Я удалил вашу UsedRange строку, так как она ничего не делает.

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)

Lrow = sht.Range("D" & Rows.Count).End(xlUp).Row
sht.ListObjects.Add(SourceType:=xlSrcRange, Source:=sht.Range("A2:F2" & Lrow)).Name = "Investeringsforeninger"

'Sort Range "Investeringsforeninger"
sht.Range("investeringsforeninger").Sort Key1:=sht.Range("F2"), order1:=xlDescending, Header:=xlYes

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...