繁体   English   中英

如何将指定列中值上方的单元格范围返回到新工作表中

[英]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:12Successful 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM