在 Excel 2010 中,我有一个 VBA 函数,它搜索工作表并根据三个值找到匹配项。一旦找到匹配项,它就会返回一个范围,该范围是一整行数据。现在在我的 Excel 工作表的一个单元格中,我调用了该函数。使用公式可以将该范围拆分为单个单元格。基本上就像找到行,然后从调用单元格开始复制粘贴单元格。我唯一能想到的就是将范围保存在单元格中
A1 = {my range}
然后之后的每个单元格都使用 INDEX 函数,例如
A2 = INDEX(A1, 1,1)
A3 = INDEX(A1, 1,2)
A4 = INDEX(A1, 1,3)
寻找任何建议。我可以发誓有一个我可以使用的非 VBA 函数将一个范围分成单个单元格。
用一个例子编辑:在我的主工作表中,我有大量数据,其中一些有错误。那些我在另一个工作表中查找的错误。
main worksheet
status, height, width, weight, sheet, m, d, z, e
ok, 1, 2, 5, , 100, 5, 7, 5
err, 1, 2, 6, TEMPA
err, 1, 2, 7, TEMPA
ok, 1, 2, 8, , 102, 7, 9, 8
ok, 1, 2, 9, , 104, 8, 7, 0
高度、宽度和重量的组合是独一无二的。辅助 woksheets 与主 woksheets 相同,但会包含丢失的数据。
TEMPA
ok, 1, 2, 6, , 25, 66, 0, 1
ok, 1, 2, 7, , 99, 7, 2, 6
所以本质上我想在高度、宽度和重量上加入两者,但仅限于那些有错误的人。助手工作表的名称会有所不同,但这是预先计算好的。我编写了代码来获取三个唯一条件,转到辅助工作表,进行匹配,然后返回由匹配行组成的范围对象。
function GetMyRange(h, wd, wt, sht) as Range
'do the match here
end function
该功能有效,因为我可以设置一些调试语句并且我正在进行正确的匹配。但是回到主工作表中,我如何获取我的范围对象并将范围对象的各个元素放入每个单元格中以“修复”错误?