excel中不同页面的动态列查找
我在excel中有一个多页的电子表格,需要从其他页面的列中动态读取信息,并将这些值显示在主页上 这是我使用的公式:excel中不同页面的动态列查找,excel,excel-formula,vba,Excel,Excel Formula,Vba,我在excel中有一个多页的电子表格,需要从其他页面的列中动态读取信息,并将这些值显示在主页上 这是我使用的公式: =IF(VLOOKUP($B:$B,'CP01'!$B:$BN,3,FALSE)="r","r", IF(VLOOKUP($B:$B,'CP01'!$B:$BN,3,FALSE)="a","a","")) CP01是excel文件中的一张工作表,我希望它查看文件中的所有工作表,而不是查看特定的工作表 有没有一种方法可以作为excel公式或使用excel VBA来实
=IF(VLOOKUP($B:$B,'CP01'!$B:$BN,3,FALSE)="r","r",
IF(VLOOKUP($B:$B,'CP01'!$B:$BN,3,FALSE)="a","a",""))
CP01
是excel文件中的一张工作表,我希望它查看文件中的所有工作表,而不是查看特定的工作表
有没有一种方法可以作为excel公式或使用excel VBA来实现这一点
编辑:我还尝试了CP*
(*是一个通配符),但没有成功
Edit2:是否有方法将“CP”所在的值与其其他列的值相匹配?如果将此函数放置在
VBA
模块中:
Public Function sheetName(index As Long)
On Error Resume Next
sheetName = ThisWorkbook.Worksheets.Item(index).Name
sheetName = IIf(Err.Number = 0, sheetName, CVErr(xlErrNA))
End Function
然后您可以这样做(列B
显示列A
的值):
所以现在从另一张表中引用单元格是这样的(列B
显示列a
的值):
我希望这能有所帮助?如果您将此功能放在
VBA
模块中:
Public Function sheetName(index As Long)
On Error Resume Next
sheetName = ThisWorkbook.Worksheets.Item(index).Name
sheetName = IIf(Err.Number = 0, sheetName, CVErr(xlErrNA))
End Function
然后您可以这样做(列B
显示列A
的值):
所以现在从另一张表中引用单元格是这样的(列B
显示列a
的值):
我希望这能有所帮助?仍然无法真正理解您想要实现的目标…“CP01”是此公式中的硬编码值。但是,当与它对应的列一起使用时,它需要更改值。因此,如果A列显示“CP02”,则B列公式中的值需要更改为该值。仍然不了解您想要实现的目标…“CP01”是此公式中的硬编码值。但是,当与它对应的列一起使用时,它需要更改值。因此,如果A列显示“CP02”,则B列公式中的值需要更改为该值。这有助于并使其成为,但我需要单元格A的值进入单元格B中的公式。我可以使用此模块执行此操作吗?是:更改此部分
“CP01”$假设CP01
是您的第一张工作表,则代码中有INDIRECT(sheetName(1)和“!$B:$BN”)
。如果CP01
是您的第二张工作表,请改用sheetName(2)
。要自动扫描所有工作表,请从第1行开始计算公式,当您向下拖动它时,sheetName(row())
将为您提供文件中第1张工作表的名称。这有助于并使,但是我需要单元格A的值进入单元格B中的公式。我可以使用此模块进行此操作吗?是:更改此部分“CP01”$假设CP01
是您的第一张工作表,则代码中有INDIRECT(sheetName(1)和“!$B:$BN”)
。如果CP01
是您的第二张工作表,请改用sheetName(2)
。要自动扫描所有工作表,请从第1行开始计算公式,当您向下拖动它时,sheetName(row())
将为您提供文件中第1张工作表的名称。