На всякий случай выложил копию ответа на
http://pastebin.com/c0UQ16zm с подсветкой синтаксиса.
Code:
For i = 2 To r.Rows.Count << идем по строкам сверху вниз, исключая заголовочную строку
If Left(r.Cells(i, 2), 1) = "/" Then << если во втором столбце самый левый символ /
HCellName = "T" & Replace(r.Cells(i, 1), ".", "_") << берем из первого столбца значение и заменяем точки на подчеркивания, потом добавляем T в начале (должно получатся что-то типа T###_###)
TCellName = "P" & Replace(r.Cells(i, 1), ".", "_") << берем из первого столбца значение и заменяем точки на подчеркивания, потом добавляем P в начале (должно получатся что-то типа P###_###)
hvalue = Trim(r.Cells(i, 3).Value) << берем значения из третьего столбца (обрезая проблемы вначале и в конце)
tvalue = Trim(r.Cells(i, 4).Value) << берем значения из третьего столбца (обрезая проблемы вначале и в конце)
если первый столбец не начинается на значение 137 или 132
тогда записываем в ячейку T###_### модуль числа из третьего столбца
иначе (если первый столбец начинается на 137 или 132) то записываем значение третьего столбца с обратным знаком
If hvalue >= 0 And Left(HCellName, 4) <> "T137" And Left(HCellName, 4) <> "T132" Then
Range(HCellName).Value = hvalue
Else:
Range(HCellName).Value = hvalue * (-1)
End If
аналогично
If tvalue >= 0 And Left(TCellName, 4) <> "P137" And Left(TCellName, 4) <> "P132" Then
Range(TCellName).Value = tvalue
Else:
Range(TCellName).Value = tvalue * (-1)
End If
End If