excel - 删除已排序的行
问题描述
我正在对数据进行小计,将该数据复制到另一个工作表,然后过滤一列并删除这些行。
问题是每次运行宏时要删除的数据范围都会有所不同。
这是我所拥有的一个例子:
Range("A2").Select
Columns("A:C").Select
Selection.Subtotal GroupBy:=1, Function:=xlCount, TotalList:=Array(3), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Range("A2:C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$C$396").AutoFilter Field:=2, Criteria1:="<>"
Rows("2:394").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$C$42").AutoFilter Field:=2
Range("A22").Select
Selection.End(xlDown).Select
Rows("42:42").Select
Selection.Delete Shift:=xlUp
解决方案
所以,而不是这个:
"$A$1:$C$396"
"$A$1:$C$42"
动态查找最后使用的行和最后使用的列。
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ActiveSheet
'Ctrl + Shift + End
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
和 。. .
Dim sht As Worksheet
Dim LastColumn As Long
Set sht = ThisWorkbook.Worksheets("Sheet1")
'Using UsedRange
sht.UsedRange 'Refresh UsedRange
LastColumn = sht.UsedRange.Columns(sht.UsedRange.Columns.Count).Column
推荐阅读
- linker - 为我的可执行文件使用预构建的静态/共享库:Android makefile
- java - 如何将可绘制矢量资产设置为我的活动背景?
- javascript - 如何批量创建百万级数据?
- machine-learning - 提取 tar.gz 文件(数据集)
- apache-spark - 内存管理 Pyspark
- numpy - 如何在keras层的调用方法中保存numpy数组
- javascript - 如何删除焦点javascript
- javascript - 获取除某些孩子之外的 ul 的 HTML
- php - 显示 meganto 模块中的所有 mysql 列
- javascript - 如何为自定义库开玩笑