Excel宏用于填充具有其他列条件的列

时间:2013-03-14 13:15:35

标签: excel vba excel-vba

我是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 Dated和Time buy列的值填充SLZ列中的日期。条件如下:

条件

  1. 如果该区域是ME,则该票在7日收到,并且必须在3月9日交付,但是当在FI列中标记ED时,再多花一天来完成我的工作,现在如果我在10日交付我的状态消息应该显示WSLA。
  2. 如果在7日收到机票并且必须在9日交付并且F栏中没有数据,因此如果交付日期是在9月3日之后我将获得一个msg O SLA。
  3. 如果该地区是非洲地区,则在7日收到该机票,且必须在9日交付,并且没有数据列在f栏中;由于SLA和交付匹配,评论必须是W SLA。 如果这个案件是在7日收到的,那么应该在9日,但是如栏目所说AE再一天仍然被认为是SLA;但仍然是交付日是12月3日,这是我的专栏H必须说OSLA
  4. 延迟两天
  5. 这是亚洲我的情况;我有4天的时间来提供这个;但有一天我已经提供了b4我的论坛H必须说W SLA
  6. 最后我的报告应该是这样的。

    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
    

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

1 个答案:

答案 0 :(得分: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

我希望能让你开始

菲利普