如何将新的 "fixed" 值行添加到 table

How to add a new "fixed" value row into a table

我正在制作一个 excel 个人月度财务电子表格。我的问题是,您能否创建一个 ActiveX 按钮,在按下时将固定行添加到 table 的底部?

table 看起来像这样:

Date         Description    Amount     Account
10/2/2017    Rent           0.00    Checking(NF) 
10/3/2017    Groceries                 Checking(TD) 
10/3/2017    Transfer       0.00    Checking(NF) 
10/3/2017    Transfer       (0.00)  Credit Card(NF) 

我想添加一个固定的行: =TODAY() Rent 0.00 Checking(NF) 到上面 table 的底部。

谢谢。

使用以下代码。您可以使用枢轴将命令按钮添加到 sheet 并将该按钮与以下代码相关联:

Sub FindTableLastRow()
Dim wb As Workbook
Dim ws As Worksheet
Dim tbl As ListObject
Dim lRow As Long
Dim startCol As String * 1
Dim AddressArr() As String

Set wb = ThisWorkbook
Set ws = wb.Sheets(2) 'Adjust this to your sheet name with the table in.
Set tbl = ws.ListObjects("Table1") 'Adjust to your table name

AddressArr = Split(tbl.Range.Address, "$")   
startCol = AddressArr(1)
lRow = AddressArr(4)

ws.Cells(lRow + 1, startCol).FormulaR1C1 = Format(Date, "\ dd\/mm\/yyyy\")
ws.Cells(lRow + 1, startCol).Offset(0, 1).Value = "Rent"
ws.Cells(lRow + 1, startCol).Offset(0, 2).Value = "0.00"
ws.Cells(lRow + 1, startCol).Offset(0, 3).Value = "Checking(NF)"

End Sub

它 returns 是日期的字符串,因此当您在日期列中按从旧到新排序时,它也会出现在数据透视表的最后。