我有一个宏,可以将一张纸的数据完全复制到另一张纸上 .
Sub QuickViewRegMgmt()
("Reg Management").Select
Cells.Select
Selection.Copy
Sheets("Quick View Reg Mgmt").Select
Cells.Select
ActiveSheet.Paste
End Sub
我想这个宏也可以转到C列中的最后一个非空格单元格(或者第一个空格,我真的不在乎这两种方式) . 我试过简单的结束/偏移代码,例如
Range("A1").End(xldown).Offset(1,0).Select
然而,我的问题是直接复制宏还复制了基础公式,对于C列,它是一个IF公式 . 因此,列中的单元格实际上不是空的,而是它们都具有IF公式,从而产生真/假值(分别为“”或VLOOKUP) .
=IF(VLOOKUP('Reg Management'!$Y260,'Reg Guidance'!$A:$V,3,FALSE)=0,"",VLOOKUP('Reg Management'!$Y260,'Reg Guidance'!$A:$V,3,FALSE))
这意味着结束/偏移代码使用公式(C1000)转到列中的最后一个单元格,而不是转到具有值“”(当前为C260)的第一个单元格 .
我可以在此宏中添加什么代码来选择包含IF公式的第一个单元格,该公式导致值为“”----其外观为空白?
1 回答
在尝试使用
SpecialCells()
,或者使用Find()
之后,或者我无法使用't get it ...so here'这样做的方式:Edit2:这是一个使用
.SpecialCells()
. 当然,我认为我们可以减少更多,我更喜欢它:它返回
10
作为行 .编辑: Be sure 在
Range()
和Cells()
之前添加工作表引用以获取最后一行 . 否则,它将查看您的活动工作表以获取信息 .