Добрый день. Помогите с написанием кода. В таблице (это выгрузка из программы) есть диапазон ячеек с разными данными (D2; F2; H2 ....) Суть проблемы: нужно написать код макроса на создание формул (ы) вида (E4=E2/ i ) число i это число из диапазона (D2; F2; H2 ....) которое нужно выбрать по маске (II)* или (III)*
Добрый день. Помогите с написанием кода. В таблице (это выгрузка из программы) есть диапазон ячеек с разными данными (D2; F2; H2 ....) Суть проблемы: нужно написать код макроса на создание формул (ы) вида (E4=E2/ i ) число i это число из диапазона (D2; F2; H2 ....) которое нужно выбрать по маске (II)* или (III)*voffka
Function Мяв(r As Range, rr As Range, mask As String) Dim strc, i& strc = Split(r, vbLf) For i = 0 To UBound(strc) If InStr(strc(i), mask) Then Мяв = CDbl(rr) / CDbl(Replace(Mid$(strc(i), InStr(strc(i), ")") + 2), " ", "")) Exit Function End If Next End Function
[/vba]
Код
=Мяв(D2;E2;"(II)")
[vba]
Код
Function Мяв(r As Range, rr As Range, mask As String) Dim strc, i& strc = Split(r, vbLf) For i = 0 To UBound(strc) If InStr(strc(i), mask) Then Мяв = CDbl(rr) / CDbl(Replace(Mid$(strc(i), InStr(strc(i), ")") + 2), " ", "")) Exit Function End If Next End Function
p.s. doober, странным образом получается, что ваша формула работает только в случае установки в ячейки шрифта Callibri при ручном наборе, по другому маску не подхватывает и результат 0
Спасибо RAN
p.s. doober, странным образом получается, что ваша формула работает только в случае установки в ячейки шрифта Callibri при ручном наборе, по другому маску не подхватывает и результат 0voffka
Я извиняюсь, на работе excel 2007 всё работает адекватно, а дома excel 2013. Код формулы я добавил в надстройку, почему то не работала формула, формулу писал от руки в ячейку, результат 0, попробовал менять шрифт - ответ получил только с Callibri.
Я извиняюсь, на работе excel 2007 всё работает адекватно, а дома excel 2013. Код формулы я добавил в надстройку, почему то не работала формула, формулу писал от руки в ячейку, результат 0, попробовал менять шрифт - ответ получил только с Callibri.voffka