вторник, 18 августа 2015 г.

Использование Excel для расчета площади воздуховодов

Часто бывает ситуации, когда необходимо рассчитать площади воздуховодов имея в наличии только спецификацию, выполненную в Excel, Word или аналогичных программах.
Проблема возникает в том случае, когда размеры воздуховодов записаны в виде "1000х500" в одной ячейке.
Для того, чтобы можно было разобрать строку на составляющие можно использовать следующий способ:
Создаем в VBA код:


Function DuctArea(str As Variant, DuctLength As Double, DuctDelimeter As String)
'On Error Resume Next
Dim A, B As Integer
A = Val(Split(str, DuctDelimeter)(0)) 'Ширина воздуховода
B = Val(Split(str, DuctDelimeter)(1)) 'высота воздухоаод
DuctArea = (A / 1000 * 2 + B / 1000 * 2) * DuctLength
End Function

Использовать в этом случае можно в виде формулы в ячейке

 =DuctArea(A168;B168;"x"), где A168 - ячейка из которой нужно взять размер воздуховода, B168 - длина воздуховода, "x" - разделитель между длиной и шириной воздуховода.

3 комментария:

  1. Класс!!! Очень полезно. Хотя мне Клима и так выдает...

    ОтветитьУдалить
    Ответы
    1. Виктор, приветствую.
      У меня обычно все наработки по проблеме. На этот раз пришел чужой проект, нужно было оценить сходится ли смета и спецификация. А так как спецификация была только в автокаде и без площадей воздуховодов - пришлось городить огород. Можно было бы и вручную это бахнуть, но общая площадь воздуховодов была более 5000 м2 ;)

      Удалить
    2. Ты молодец Дима, хороший выход!

      Удалить