Получение имени таблицы, скопированной с другой страницы - PullRequest
1 голос
/ 03 апреля 2020

Я создал макрос, который будет копировать таблицу на другие страницы, где он будет сортировать эти вставленные таблицы по определенному диапазону дат. Моя проблема заключается в знании имени таблицы только что скопированной таблицы. Я попытался просто сделать простой подсчет, но номер по умолчанию, назначенный объектам списка, очевидно, не является хронологическим. Когда я добрался до скопированной 199-й таблицы, следующая скопированная таблица была 1100 вместо 200 ...

Таблица, вставленная на лист, является единственной таблицей на этом листе, поэтому я думаю I должен иметь возможность либо назначить имя, либо получить то, что когда-либо было назначено автоматически. Как я могу это сделать? Или мне нужно скопировать таблицу совершенно другим способом?

Option Explicit
Dim DutyQueue As Worksheet
Dim MonthQueue As Worksheet
Dim tblNum As Integer
Dim tblOld As Integer
Dim intWSCount As Integer
Dim intmonth As Date
Dim endmonth As Date

Sub CopyMonthlyDutyLoop()

Set DutyQueue = ThisWorkbook.Worksheets("Duty Queue")

For intWSCount = 4 To 15
Set MonthQueue = ThisWorkbook.Worksheets(intWSCount)
tblNum = DutyQueue.Cells(1, 1)
ThisWorkbook.Worksheets(intWSCount).Activate
tblOld = MonthQueue.Cells(1, 1)
intmonth = MonthQueue.Cells(1, 2)
endmonth = MonthQueue.Cells(1, 3)

'copy table from Duty Queue
DutyQueue.Range("Table1[#All]").Copy ThisWorkbook.Worksheets(intWSCount).Range("A2")

'sort for all tasks due for the month
tblNum = tblNum + 1
Worksheets(intWSCount).ListObjects("Table_I_Just_Copied").Range.AutoFilter Field:=5, Criteria1:="<=" & intmonth, Operation:=xlAnd, Criteria2:="<=" & endmonth


DutyQueue.Cells(1, 1) = tblNum
MonthQueue = Worksheets(intWSCount).ListObjects("Table_I_Just_Copied").Name


Next intWSCount

End Sub

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете ссылаться на таблицу, используя ее индекс (как и для любой коллекции), и если у вас есть только одна таблица на листе, проще идентифицировать эту таблицу, а именно:

Worksheets("nnn").listobjects(1).name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...