0

我是VBA的初学者。我有一个 Excel 跟踪器,如下所示:

S.NO    REGION  ASSOCIATE   DATE RECEIVED   SLA TIME BUY    DELIVERED DATE  STATUS
1   ME           7-Mar-13                 ED    10-Mar-13             
2   ME           7-Mar-13                    10-Mar-13    
3   AFRICA           7-Mar-13                    9-Mar-13   
4   AFRICA           7-Mar-13                 AE    12-Mar-13   
5   ASIA             8-Mar-13                    11-Mar-13  
6   ASIA             9-Mar-13                 QR    15-Mar-13   
7   AFRICA           10-Mar-13                   14-Mar-13
8   ASIA             10-Mar-13                   16-Mar-13  
9   ME           10-Mar-13                   14-Mar-13  
10  ASIA             10-Mar-13                DH    17-Mar-13   

我必须根据 Region Column Date Received 和 Time buy 列的值填充 SLZ 列中的日期。条件如下。

条件

  1. 如果该地区是 ME,则在 7 日收到票,并且必须在 3 月 9 日交付,但是由于 ED 在 FI 列中标记,因此可以多一天完成我的工作,现在如果我在 10 日交付,我的状态消息应该显示 WSLA。
  2. 如果在 7 日收到票并且必须在 9 日交付,并且 F 列中没有数据,因此如果交付日期在 3 月 9 日之后,我应该得到一个 msg O SLA。
  3. 如果该地区是非洲,则在 7 日收到票,并且必须在 9 日交付,并且 f 列中没有标记数据;由于 SLA 和交付匹配,因此评论必须是 W SLA。如果这个案例是在 7 日收到的,应该在 9 日收到,但是正如专栏所说的 AE 多一天仍然被视为 SLA;但交付日期仍然是 3 月 12 日,这比我的 H 栏延迟两天必须说 OSLA
  4. 这是一个亚洲 I 案例;我有 4 天的时间来交付这个;但是我已经交付了一天 b4 我的 solumn H 必须说 W SLA

最后我的报告应该是这样的。

S.NO    REGION  ASSOCIATE   DATE RECEIVED   SLA TIME BUY    DELIVERED DATE  STATUS
1   ME      7-Mar-13    9-Mar-13              ED    10-Mar-13   W SLA
2   ME      7-Mar-13    9-Mar-13                 10-Mar-13           O SLA
3   AFRICA      7-Mar-13    9-Mar-13                 9-Mar-13            W SLA
4   AFRICA      7-Mar-13    10-Mar-13             AE    12-Mar-13            O SLA
5   ASIA        8-Mar-13    11-Mar-13                11-Mar-13           W SLA
6   ASIA        9-Mar-13    14-Mar-13             QR    15-Mar-13       O SLA
7   AFRICA      10-Mar-13   14-Mar-13                14-Mar-13           W SLA
8   ASIA        10-Mar-13   16-Mar-13                16-Mar-13           W SLA
9   ME      10-Mar-13   14-Mar-13                14-Mar-13           W SLA
10  ASIA        10-Mar-13   17-Mar-13             DH    17-Mar-13   W SLA

有人可以帮我做一个宏吗?如果我得到一个用于至少一个条件检查的宏,我想我可以为其他条件重新创建它。

4

1 回答 1

0

所以你想要一些类似的东西:

dim iCol as integer
dim iRow as integer
dim iRegionCol as integer, iTktReceivedDate as integer
'
'
iRegionCol=2 ' column 2 = column B?
iTktReceivedDate=4 ' column 4 = column D?
'
for iRow=2 to range("A1").end(xldown).row
    select case cells(irow,iregioncol).text
        case "ME"
        ' do something like IF cells(irow, iTktReceivedDate) = today() then...
        case "Africa"
        ' do Africa something
        case "Asia"
        ' do something for Asia
    end select
next

我希望这能让你开始

菲利普

于 2013-03-14T14:03:17.170 回答