使用另一个单元格的内容引用另一个工作表上的单元格
我有许多工作表的Excel文件。
每个工作表包含两列中的一些原始数据。 第一列是项目(文本中的名称),第二列是值(数字)。
我喜欢画一个图表,展示一个项目是如何演变的。 所以我创build了一个新的工作表并开始将所有原始数据表引用到interrest中的项目。
手动操作需要很长时间,原因有二:
a)有许多原始数据表
b)所有原始数据表中的项目不在同一行
所以我想知道是否有可能使一个macros来获取所有的值。 如果我给macros指定了这个项目,例如apples
,macros将search所有的原始数据表,find包含项目apples
的行,并将其值复制到我的图表中的新行。
它可行吗? 而我将如何开始写这样一个macros?
注意:我没有要求一个完整的解决scheme。 我要求的function名称是有用的。 示例:我可以使用哪个函数遍历所有原始数据表,可以使用哪个函数来查找每个原始数据表中的项目等等。
更新后的意见
是的,项目名称总是在同一列,即答。值总是在列B(在同一行)。 但是行号可能会随着薄片而变化。
这只是我想复制的价值(即从列A中包含我感兴趣的项目名称的行中的列B)
考虑:
Sub dural() Dim Master As Worksheet, sh As Worksheet Dim GotIt As Range, r As Range, K As Long Set Master = Sheets("Master") arr = Array("raw1", "raw2", "raw3") K = 1 For Each a In arr Set sh = Sheets(a) Set r = sh.Range("A:A").Cells Set GotIt = r.Find(What:="apples", after:=r(1)) If GotIt Is Nothing Then Else GotIt.Resize(1, 2).Copy Master.Cells(K, 1) K = K + 1 End If Next a End Sub
其中arr
是原始数据表的工作表名称数组, Master
是摘要工作表的名称。