[英]How to return range of cells above a value in a specified column into a new worksheet
这是一个非常基本的问题,但是我无法使用搜索功能找到答案。
我有一个worksheet
,在column B
都包含值Total Settled Deposits
和“ Successful Deposits
Total Settled Deposits
,但是值的行号根据在这两个值之间提交的信息而变化。
我想编写执行此操作的VBA
代码:将“ Settled Deposits
单元格和“ Successful Deposits
单元格之间的范围(包括该范围)返回到新的worksheet
。
例如,如果Total Settled Deposits
位于单元格B:12
, Successful Deposits
位于B:7
,则返回范围B7:P13
的值。 我想要在名为abc
的新工作表中返回的值。
您不需要VBA就可以做到这一点。 添加名为abc的新工作表,在B1中添加以下公式:
=IF(AND(ROW()>=MATCH("Successful Deposits",Sheet1!B:B,0),ROW()<=MATCH("Total Settled Deposits",Sheet1!B:B,0)),Sheet1!B1,"")
并将其向下拖动。 它将保留B列的所有空白,除了另一张纸上的匹配单元格。
试试看:
Sub Zero()
Set r1 = Range("B:B").Find(what:="Successful Deposits")
Set r2 = Range("B:B").Find(what:="Total Settled Deposits")
Set r3 = Range(r1, r2)
addy = r3.Address
Worksheets.Add
ActiveSheet.Name = "abc"
r3.Copy Range(addy)
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.