在VBA中selectdynamic的,过滤的范围
我试图select一个dynamic范围的过滤数据,跨越col。 A:col。 J不select标题(在第1行)。 从那里我需要复制和粘贴到一个新的工作表,我将进一步操纵它,但我不能想出一个有效的或function的方式来做到这一点。 基于我在另一个论坛上find的一些代码,我可以在一个列中select所有“可视化单元格”,但是我正在尝试select整个范围。 我还是很新vba所以原谅我的语法,但我的代码下面发布是试图通过Rows.Count和我是一个整数1-10的迭代。 如果您对如何更好,更有效地做到这一点有任何build议,我将不胜感激。
Sub SelectVisibleInColD() Dim lRow As Long, i As Integer Set i = 1 Do While i <= 10 With ActiveSheet lRow = .Cells(.Rows.Count, i).End(xlUp).Row If lRow < 3 Then Exit Sub .Cells(1, 1).Offset(1, 0).Resize(lRow - 1).SpecialCells(xlCellTypeVisible).Select End With i = i + 1 Loop End Sub
您可以使用ActiveSheet
Range
属性来select一个范围。 你已经有了最后一行,你知道头在第一行,所以你的范围从A2
开始,到J
列的最后一行
ActiveSheet.Range("A2:J"&lRow).SpecialCells(xlCellTypeVisible)
如果你想复制这个范围,使用Copy
function
yourRangeAsAbove.Copy
此function只将select移动到内存,粘贴它,build立你的目的地范围,并调用PasteSpecial
function。