Excel 基于条件的复制范围
我想写一个宏,只复制一系列有数据的单元格,忽略值为Excel 基于条件的复制范围,excel,vba,Excel,Vba,我想写一个宏,只复制一系列有数据的单元格,忽略值为NA 我构建了一个助手工具,以确保从多个来源收集的数据被放置在正确的对应列中,然后从那里复制并粘贴这些列到主工作表中。这些值填充的范围为A3到R,列R中为Vlookup 我想写一个宏,这样我可以按一个启用宏的按钮复制该范围内的单元格,并在Vlookup停止返回值的地方结束。到目前为止,我已经能够编写它,这样它就可以复制到Vlookup的末尾,但它仍然在收集结果,包括R中的公式 目前编写: Sub Copy() Dim ws As Work
NA
我构建了一个助手工具,以确保从多个来源收集的数据被放置在正确的对应列中,然后从那里复制并粘贴这些列到主工作表中。这些值填充的范围为A3
到R
,列R
中为Vlookup
我想写一个宏,这样我可以按一个启用宏的按钮复制该范围内的单元格,并在Vlookup
停止返回值的地方结束。到目前为止,我已经能够编写它,这样它就可以复制到Vlookup
的末尾,但它仍然在收集结果,包括R
中的公式
目前编写:
Sub Copy()
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
ws.Range(ws.[A:R], ws.Cells(Rows.Count, "R").End(xlUp)).Copy
End Sub
单程
#N/A
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim rng As Range, filteredrng As Range
Dim lrow As Long
Set ws = Sheet1 '<~~ Change this to the relevant sheet
With ws
.AutoFilterMode = False
lrow = .Range("R" & .Rows.Count).End(xlUp).Row
Set rng = .Range("A3:R" & lrow)
With rng
.AutoFilter Field:=18, Criteria1:="<>#N/A"
Set filteredrng = .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow
End With
If Not filteredrng Is Nothing Then
'~~> COPY RANGE CODE HERE
End If
.AutoFilterMode = False
End With
End Sub
选项显式
子样本()
将ws设置为工作表
调光作为范围,过滤器作为范围
暗淡的光线和长的一样
设置ws=Sheet1'感谢您的回复。我将其插入,它现在正在正确地选择和复制,但是,当我从它正在复制的内容粘贴时,它会将所选单元格和空白单元格粘贴到第104888行。你知道为什么它会这样做而不是只粘贴选定的单元格吗?“~~>在这里复制范围代码
如果你用Debug.Print filteredrn.Addres
替换它,你会看到什么?解决了:我必须在范围代码中添加.End(xlUp)。谢谢你的帮助,我一直在努力解决这个问题。我通常不这么说,但你可能不知道如何将asnwer标记为已解决。不要编辑问题,并在此处键入已解决的。使用如图所示的正确方法