2013-03-14 4 views
0

Я новичок в VBA. У меня есть трекер Excel, как показано ниже: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 

я должен заполнить даты в столбце SLZ на основе значений Регион Дата Колонка Received и времени покупки условия column.The приведены ниже.

Условия:

  1. Если регион ME, билет принимается на 7, и это должно быть поставлено на 9 марта, однако, как ED отмечается в колонке FI получить еще один день экстренно завершите мою работу, и теперь, если я поставлю это на 10-й мой статус, msg должен показать WSLA.
  2. ЕСЛИ билет получен 7-го числа, и это должно было быть доставлено 9-го числа, а данные в столбце F отсутствуют, поэтому, если дата доставки после 9-го марта, я получаю сообщение об ошибке SLG.
  3. Если регион является африкой, билет получен 7-го, и это должно быть доставлено 9-го числа, а данные не помечены в столбце f; поскольку SLA и поставка соответствуют комментарию, должен быть W SLA. Если этот случай получен на 7-м, который должен на 9-м, однако, как говорят в колонке AE, еще один день по-прежнему считается SLA; но все же день продлен 12-го марта, который за два дня задерживает мою колонку H, должен сказать OSLA
  4. Это случай в Азии; У меня есть 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 

Может кто-нибудь, пожалуйста, помогите мне с макросом. Если я получу макрос для хотя бы одной проверки состояния, я думаю, что могу воссоздать его для других условий.

+0

Итак, что вы пробовали? Любой код? Любые сообщения об ошибках? –

+0

Для этого вам не нужен макрос VBA, вы можете поместить свои условия в формулы в столбцах, например ** = IF (REGION = «ME, RESULT, NO_RESULT) ** –

+0

Какой столбец« SLZ », я могу видеть только SLA –

ответ

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 

Я надеюсь, что поможет вам начать работу

Филипп

Смежные вопросы