我有一张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 jedi的任何提示都会非常感谢!
答案 0 :(得分: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()
函数查找带有标题的行号,然后将其添加1(因为我们希望之后的单元格)并将其附加到“A” “为范围的起点创建单元格引用。复制范围的结束单元格是通过简单地获取A列中数据的最后一个单元格来确定的(我假设您要复制标题下面的所有内容)。
现在我们有了复制范围,我们只提供目标参数 - 这会绕过剪贴板并加快处理/执行速度。