如果另一个单元格的值等于三分之一,则复制单元格的内容

时间:2013-08-30 04:00:30

标签: excel vba excel-vba

我更新了文档Google Drive

问题更明确,是;在我的C-D-E-F标签上,我在E12:E14中有VIP号码。标记为“Bulk”的下一个单元格F12:F14为空。在这些单元格中,我想要数据选项卡中的值,F12中的单元格T38,F13中的T61和F14中的T64。

坏消息是这个专栏每天都会更新更新的值,好消息是订单会保持不变。所以最低的VIP标签 16001669 ,将是第一个VIP总数,中间是下一个,最后一个是最后一个。

然后,我需要将复制到C-D-E-F标签的数字下的“Caged Tote”复制到下一个单元格。

现在我有:

   E11       F11    G11
  VIP       Bulk   Totes
16001669    
16001670
16001671

我正在寻找的输出是:

    E11       F11    G11
  VIP       Bulk   Totes
16001669      4       1
16001670      1       1
16001671      4       1

1 个答案:

答案 0 :(得分:0)

你能不能只使用一个VLookup公式?

= vlookup(value_looking for,range_table_to_look_in,column_to_return,false)

如果你没有尝试在代码中实现(并且不能只使用应用程序工作表函数vlookup()),请使用范围对象的find方法。

让rgSearch =具有您正在寻找的值的单元格= 1234,4567等,rgSearchList =您列出的该表的第一列,intCol =您要返回的列,即三个

Function GetThingy(rgSearch as range, rgSearchList as range, intCol as integer) as range

    set rgMatch = rgSearchList.find(rgSearch.value, rgSearchList.cells(1,1), xlValues, xlWhole)

    if not rgMatch is nothing then 'i.e. "if found"
        GetThingy = rgMatch.offset(0, intCol - 1) ' have to remove one because this is an offset from rgMatch, not an absolute from left edge
    else
        GetThingy = nothing
    end if
end function