我是 VBA 新手,不知道从哪里开始。
我有两列数据:
Team Member Time
A 1
A 2
A 3
A 4
我只对该电子表格的第一行和最后一行感兴趣,我预期的输出是这样的:
Team Member Time
A 1
A 4
我的电子表格中的总行数不断变化,因此没有固定的最后一行。
是否有简单的 Excel 函数可以帮助我解决这个问题,我可以使用宏来记录它,或者我应该为此使用 VBA 创建一个函数?
以下是仅选择第 2 行和第 3 行并将其删除的宏:
Sub Del()
Rows("3:4").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
但当行数变化时这显然不起作用。
答案1
考虑到您正在尝试使用 VBA 来简化您的任务,这很棒!您的宏可能很简单,但这是一个很好的开始。
下面是一个宏,您可以将其粘贴到ThisWorkbook
VBA 资源管理器中。运行时,它将找到最后一行,选择第一行和最后一行之间的范围(假设 A1 始终是第一行),然后删除该范围,只剩下第一行和最后一行。
Sub Del()
Dim sht As Worksheet
Dim LastRow As Long
Dim DataRange As Range
Set sht = ThisWorkbook.ActiveSheet
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
LastRow = LastRow - 1
Set DataRange = Range("A2:B" & LastRow)
DataRange.Delete
End Sub
注意:此宏会删除数据!使用时请自负风险。