0
我有一张有200行,其间有空白的表单。复制列中的所有单元格
我不能使用End(xlDown)
或End(xlUp)
来获取整个范围,因为有空行。
如何复制到列中有数据的最后一个范围?
此外,我不想复制标题。
请建议我如何在Excel VBA中做到这一点。
我有一张有200行,其间有空白的表单。复制列中的所有单元格
我不能使用End(xlDown)
或End(xlUp)
来获取整个范围,因为有空行。
如何复制到列中有数据的最后一个范围?
此外,我不想复制标题。
请建议我如何在Excel VBA中做到这一点。
您可以使用下面的代码获得活动工作表A列中最后一次使用的行(如果在列中间有空白单元格,它也可以工作) - 根据需要修改如果需要在不同的表/列。
With ActiveSheet
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A2:A" & lastRow).Copy 'copies column A used range, excluding header row
End With
复制它们的最好方法是使用自动筛选和过滤它们空白,然后复制可视范围
对于实例
Sub Sample()
Dim ws As Worksheet
Dim lRow As Long
Dim rngToCopy As Range, rRange As Range
Set ws = Sheets("Sheet1")
With ws
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rRange = .Range("A1:A" & lRow)
'~~> Remove any filters
.AutoFilterMode = False
With rRange 'Filter, offset(to exclude headers) and copy visible rows
.AutoFilter Field:=1, Criteria1:="<>"
Set rngToCopy = .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow
End With
'~~> Remove any filters
.AutoFilterMode = False
rngToCopy.Copy
'
'~~> Rest of the Code
'
End With
End Sub
欢迎堆栈溢出。请阅读[常见问题] - 预计您将展示一些特定编程问题的努力。 _简单地问一下你已经在几个问题上做过的代码,这个代码被压在了__上。如果您没有任何示例代码,请花更多时间学习语言,并回到特定问题。将问题分解成更小的步骤,并搜索如何解决这些问题。如果你困在那些,请在这里问。但是下载代码的命令在这里不起作用。 – JimmyPena 2012-07-10 16:53:41
我们希望您试图自己解决这个问题,而不是要求社区为您提供完整的解决方案。当你有一些代码向我们展示,证明你有一些努力(即使它是错误的),请更新你的问题和标志重新打开。谢谢。 – Kev 2012-07-11 23:44:06