Excel 2010索引匹配VBA

标签 excel vba indexing match

尝试了一切,但似乎无法得到这个。尝试使用另一个工作表中索引匹配中的正确站点标记替换一个工作表的 B 行(站点标记)中的值。

Worksheet(Site_Visit) SiteTag AL27 AS26 GBEM4 ...

Worksheet(Sites) SiteTag Project Name 203AL27 AL27 203AS26 AS26 201GBEM4 GBEM4 ... ...

我需要将 Sheets("Site_Visit") 中的值 SiteTag 替换为 Sheets("Sites") 中的相应 SiteTag。

现在,我只是尝试获取代码,将正确的索引值放入变量中,并将其作为每个单元格的值,并在循环中运行它。但我一生都无法让它获得值(value)。这就是我对变量所做的尝试(所有内容都已声明)。

ST_Cells2 = Application.WorksheetFunction.Index("Sites!A2:A34", Application.WorksheetFunction.Match("Site_Visit!B2", "Sites!B2:B34", 0), 0)

其中“Sites!A2:A34”是适当替换值的范围 “Sites_Visit!B2”是查找值 “Sites!B2:B34”是查找范围

我收到运行时错误“1004”无法获取 WroksheetFunction 类的 Match 属性。大家有什么想法吗?

最佳答案

索引和匹配函数需要范围,但您向它们发送字符串。将字符串转换为范围的最简单方法是使用 Excel 的 Range 函数:

st_cells2 = Application.WorksheetFunction.Index(Range("Sites!A2:A34"), Application.WorksheetFunction.Match(Range("Site_Visit!B2"), Range("Sites!B2:B34"), 0), 0)

关于Excel 2010索引匹配VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7576947/

相关文章:

html - 如何提取向下滚动时进一步加载的完整表格?

sql-server - 带条件的 SQL Server 索引

c++ - 从 Excel 到 utf-8 mysql 的字符串

c# - microsoft.interop.excel 格式化单元格

vba - 设置 Excel 模板,以便计算不依赖于特定的列/行数

excel - Excel 中的计算字段

postgresql - Postgres hstore : GIN vs GiST index performance

c# - 这个数组的索引是否存在?

vba - 在使用 VBA 的 Word 文档上访问 Excel 对象而不使用 Shape.Activate()

string - 将外部单元格地址转换为vba中的范围