-1

好的,所以我觉得我的编码已经很接近了,但我并不完全在那里。

我想要做的是让excel查看B.offset(0, 3)列中的工作簿A,对于=“RF”的每个值,我希望它检查B.offset(0)列中工作簿B中的值是否, 3) = "射频"。如果工作簿 B 值不是“RF”,我希望将每个实例的工作簿 A 列 B 中的值粘贴到同一目标的工作簿 C 中(例如:b4 到 b4)

如果工作簿 B 的值为“RF”,我希望 excel 查看 B.offset(0, 11) 列中的值 对于工作簿 A 和 B。对于工作簿 A 列 B.offset(0, 11) > 工作簿的每个实例B column B.offset(0, 11) 我想将工作簿 A 列 B 的值发布到同一个目的地。(我没有开始第二部分,因为代码已经搞砸了,但下面是我的代码)

如果您需要更多信息,请告诉我,并感谢您的帮助。(取出我的代码,因为它没有发布希望这有效)

4

1 回答 1

0

我在理解您的数据组织时遇到了一些麻烦。在 Excel 术语中,WorkBook 是工作表的集合,并以 Excel 文件的形式存在。我假设您正在使用三个 Excel 文件。您对偏移量的使用与偏移量(范围、行、列)的语法不匹配。您是否对每一行数据执行这组评估 - 使用 WorkBook A,列 B 作为主数据?
这是我理解的算法:

For each row in WorkbookA.ColB(offset 3) 
    if workbookA.colB(offset 3).value = "RF" then
       If workbookB.colB(offset 3).value <> "RF" then
           workbookC.colB(offset 3).value = workbookA.colB(offset 3).value
       ELSE
           Avar = workbookA.colB(offset 11).value
           Bvar = workbookB.colB(offset 11).value
           if Avar > Bvar Then
               workbookC.colB(offset 11).value = Avar
           End if
       end if
    end if
Next row

因此工作簿 C 有可能每行更新 0-1 列。对于 3 个工作簿/文件,我会将代码放入工作簿 A。将工作簿 A 中的行、col3Data 和 col 11 数据捕获到用户定义类型数组中,其中行对应于数组索引。该结构将包括 Acol3Data、Acol11Data、Bcol3Data、Bcol11Data。将工作表 A 数据加载到数组后,在工作簿 B 上打开一个 Excel 对象,使用数组的索引加载 Bcol3Data 和 Bcol11Data。关闭 WorkBook B. 打开 Workbook C. 从数组顶部开始,完成每个索引值的算法。您将更轻松地使用 objSheet.cells(i,3).value 而不是 offset 语句。i 是行,3 是列。

于 2013-05-03T15:33:55.557 回答