提问人:MikeE 提问时间:10/23/2023 更新时间:10/23/2023 访问量:68
Excel VBA用于选择可见行/活动表的正确代码?
Excel VBA correct code for selecting visible rows/the active table?
问:
大家早上好,
我创建了VBA代码来自动执行一个非常手动的过程,将数据从一个工作表解析为其他几个工作表,以便继续另存为单个工作表。CSV 文件。该宏效果很好,我什至对宏进行了排序,以将每个单独的工作表保存为 .CSV 放入文件夹中,因此在生产力方面,它看起来非常好!
我的问题是关于选择受自动过滤器约束的数据的活动表的内容。例如,我在这个工作表中有大量数据跨越到第 851079 行,我应用了一些过滤器,显示最多 29369 行。这部分代码显示它使用绝对引用:
ActiveSheet.Range("$A$1:$Q$851079").AutoFilter Field:=5, Criteria1:="EE"
ActiveSheet.Range("$A$1:$Q$851079").AutoFilter Field:=6, Criteria1:="2G"
Range("A1:Q851079").Select
Range("F29342").Activate
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
这适用于此工作簿,但并非每个我需要运行宏的工作簿都会有正好851079行,它会有更多/更少,但可能永远不会相同。
我最初的想法是相当“农业”的,因为将范围更改为工作表(1048576)的最后一行。列数将始终相同。
但是有没有更聪明的方法呢?
答: 暂无答案
下一个:VBA 复制和粘贴范围
评论
LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
ActiveSheet.Range("$A$1:$Q$" & LastRow).AutoFilter Field:=6, Criteria1:="2G"
Range("$A$1:$Q$" & LastRow).Select