如何将新的“固定”值行添加到表中

时间:2017-10-03 06:02:33

标签: excel activex

我正在制作个人月度财务的Excel电子表格。我的问题是你可以创建一个ActiveX按钮,在按下时会在表格的底部添加一个固定的行吗?

表格如下:

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

我想添加一个固定的行: =TODAY() Rent $440.00 Checking(NF)位于上表的底部。

感谢。

1 个答案:

答案 0 :(得分:1)

使用以下代码。您可以使用数据透视表向工作表添加一个命令按钮,并将该按钮与以下代码关联:

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 = "$440.00"
ws.Cells(lRow + 1, startCol).Offset(0, 3).Value = "Checking(NF)"

End Sub

它会返回Date的字符串,因此当您在Date列上从最旧到最新排序时,它也将显示在数据透视的最后。