繁体   English   中英

以编程方式 (VBA) 将下个月添加到 Excel 中的动态范围表

[英]Adding Next Month Programmatically (VBA) to a Dynamic Range Table in Excel

我有一个动态范围表 [Defined Table Name = MainTable]。 我还有代码可以让我在DateRange (A 列的定义名称范围)中找到最后一个单元格。

Sub Last_Row_Range()
Dim nextMonth As Range
Set nextMonth = Sheets("MainTable").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
nextMonth.Select
End Sub

但是,这是我无法弄清楚的。 我希望用户能够按下一个按钮 (btnNextMonth),它会自动转到DateRange的最后一行,偏移 1自动添加下个月。 下面是我想要实现的目标的图片。 在此先感谢各位。 在此处输入图片说明

尝试充分利用表格,而不是手动查找最后一行并插入。 下面是一个例子:

Sub Last_Row_Range()
    'Get reference to table
    Dim tbl As ListObject
    Set tbl = Sheets("MainTable").Range("MainTable").ListObject

    'Insert new row in table
    Dim tblRow As ListRow
    Set tblRow = tbl.ListRows.Add(AlwaysInsert:=True)

    'Increment previous date by 1 month and place in new row
    tblRow.Range(1, 1) = DateAdd("m", 1, tblRow.Range(0, 1).Value)
End Sub

已测试

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM