在Excel 2010中,我有一个VBA函数,它可以搜索工作表并根据三个值找到匹配项。一旦找到匹配,它将返回一个范围,该范围是整行数据。现在我在一个单元格的Excel工作表中调用该函数。使用公式可以将该范围分成单独的单元格。它基本上就像查找行,然后复制粘贴从调用单元开始的单元格。我能想到的唯一的事情就是每个单元保存范围内的小区将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
组合的高度,宽度和重量是独一无二的。 helper woksheets与main相同,但会丢失数据。
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
该函数的工作原理是我可以设置一些调试语句,我正在进行正确的匹配。然而,在主工作表中,我如何获取范围对象并将范围对象的各个元素放入每个单元格中以“修复”错误?
你是否试图将它从一个单元格中返回整行?或者你还想让它这样做? – user2140261
我想要返回整行,但将来自源的单元格放入我的目标中,但是放置在单个单元格中。就像复制/粘贴一样。 – sinDizzy
您需要使用子例程来执行此操作,从工作表调用的工作表函数或UDF无法执行此类操作。 –