excel - 获取从另一个页面复制的表格名称
问题描述
我制作了一个宏,它将一个表格复制到其他各个页面,然后将这些粘贴的表格排序到特定的日期范围。我的问题是知道新复制的表的表名。我试图只做一个简单的计数,但分配给列表对象的默认数字显然不是按时间顺序排列的。当我复制到第 199 个表时,下一个复制的表是 1100 而不是 200...
粘贴到工作表上的表格是该工作表上唯一的表格,因此我认为我应该能够分配名称或获取自动分配的名称。我怎么做?还是我需要以完全不同的方式复制表格?
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
解决方案
您可以使用表的索引(与任何集合一样)引用表,如果工作表上只有一个表,则识别该表会变得更简单,即:
Worksheets("nnn").listobjects(1).name
推荐阅读
- android - kotlin中基于第三方库定义变量类型
- coq - 错误消息:缺少的参数数量不正确(预期为 1)
- reactjs - 将iframe放在React中的2个地方时如何仅加载一次
- flutter - 在 Flutter 中解析 AssetImage 时的 TypeErrorImpl
- javascript - vue 尝试将联系人发布到 db
- python - 自动附加将 None 返回到 Sphinx 文档
- c# - 如何从集合中删除丢失的实例?
- python - 如何在 Python Pandas 中打印并使其在 5 秒后消失?
- ios - 应用从死态进入前台时调用方法
- javascript - 将授权标头添加到 ag-grid 请求