首页 文章

在Excel工作表之间复制动态范围

提问于
浏览
0

我有一张Excel工作表,其中包含一张工作表上的AD和服务器信息,以及一个单独的工作表,其中总结了一些信息 .

在AD /服务器表中,服务器信息并不总是在A列的同一单元格中开始,而是始终在其上方(实际上是标签)的单元格中包含相同的值 .

在摘要表中,我想要从第一个工作表复制/粘贴动态范围的范围值始终在同一个单元格中开始 .

因此,假设我在标签下列出的每个文档的X数量是一致的,那么如何使用公式在摘要表上动态引用这些值?我不是Excel大师,但尝试过使用RANGE功能并且没有取得多大成功 .

这里的目标是为模板文件添加一点自动化 .

防爆 .

Sheet1
Col1
some
varying
levels
of
information
CONSISTENTLABEL
Server1
Server2
Server3

Sheet2
Column1
LABEL1
LABEL2
LABEL3
LABEL4
Blank Cell (starting point where I want to copy from Sheet1)

来自Excel绝地的任何提示都将非常感谢!

1 回答

  • 1

    假设您的起点位于A列,并且您所指的标签是唯一标签,或者首先出现在您要开始复制的位置,您可以使用以下内容:

    (请注意,这是模糊的代码,因为您没有提供工作表名称等...)

    Sub MacroMan()
    
    Const searchLabel As String = "LABEL 4" '// Change as required
    
    With Sheets("Server Info") '// Change as required
        .Range("A" & WorksheetFunction.Match(searchLabel, .Range("A:A"), 0) + 1), _
            .Cells(.Rows.Count, 1).End(xlUp)).Copy Destination:= _
        Sheets("Summary Data").Range("A1") '// Change as required (paste destination)
    End With
    
    End Sub
    

    这是使用 Match() 函数查找带有 Headers 的行号,然后将其添加1(因为我们想要之后的单元格)并将其附加到"A"以创建范围起点的单元格引用 . 复制范围的结束单元格通过简单地获取包含A列中数据的最后一个单元格来确定(我假设您要复制 Headers 下方的所有内容) .

    现在我们有了复制范围,我们只提供目标参数 - 这会绕过剪贴板并使处理/执行更快 .

相关问题