Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Function ПРОСМОТРХ макросом VBA
 
Хочется превратить фунцию "ПРОСМОТРХ" в фунцию макроса VBA, потому что для более ранних версий она не работает и проходится постоянно менять на "ПРОСМОТР" и "ПОИСКПОЗ", хотелось бы в дальнейщем, просто, добавлять фунцию в книгу и немного изменить название функции.
Есть ли у кого такая фунция именно макросом, может у кого есть какие соображения?

я это представляю примерно так:
Код
Function ПОСМОТРХХ(Arg1, Arg2, Arg3, Arg4)

aa = какие-то действия

ПОСМОТРХХ = aa
End Function
Дождаться полной загрузки сайта, MSXML2.ServerXMLHTTP.6.0
 

При получении текста с сайта и рабивая данные по тегу, очень часто получаю разные значения количесва объектов в массиве. иногда допустим 160 а иногда 660. Как дождаться когда полностью закгрузиться сайт?. .readyState = 4, статус тоже проверал. Когда просто заходишь на сайт, ручками в браузере, иногда видно что информация подгружается дополнительно. как реализовать код чтоб я получил полный txt сайта. Код использую вида.

Код
Sub XMLHTTP()
ctroka:
URL = "https://oz-parts.ru/search/Hyundai-KIA/54584D3000?source=goods_info"
 On Error GoTo errorHandler
        With CreateObject("MSXML2.ServerXMLHTTP.6.0")
        .Open "GET", URL, "False"
        .setTimeouts 10000, 10000, 10000, 10000
        .send ("")
'        .setProxy 2, myProxy
'        .setProxyCredentials mylogin, mypassword
cTime = Now + TimeValue("00:00:20")
 If Now < cTime Then
        Do
        DoEvents
        Loop Until .readyState = 4
Else
        popitka = popitka + 1
        If popitka >= 3 Then
        Exit Sub
        Else
        GoTo ctroka:
        End If
End If
        txt = .responseText
        End With
errorHandler:

arr50 = Split(GetTags(txt, "td", "class", "*resultDeadline *", "innerHTML"), ARSEP)
kolishestvo1 = UBound(arr50, 1) - LBound(arr50, 1) + 1
Функция LAMBDA, Кто-нибудь, подскажите пожалуйста, почему вот такая конструкция не работает
 
Код
=LAMBDA(a;ПСТР(ЯЧЕЙКА("ИМЯФАЙЛА";a);ПОИСК("]";ЯЧЕЙКА("ИМЯФАЙЛА";a))+1;255))
Офис 365, с другими функциями все работает!
Сократить функцию ЕСЛИМН, Есть ли способ сократить такую формулу
 
=ЕСЛИМН(
A1<=5;"1 листе.";
A1<=10;"2 листах.";
A1<=15;"3 листах.";
A1<=20;"4 листах.";
A1<=25;"5 листах.";
A1<=30;"6 листах.";
A1<=35;"7 листах.";
A1<=40;"8 листах.";
A1<=45;"9 листах.";
A1<=50;"10 листах.")
В цикле определить высоту строк, после выхода из цикла задать высоту диапазонам строкам
 
Добрый день. Есть макрос вида:
Код
Sub Test()
Dim arr, lr, i, ss As Long
arr = Range(Cells(1, 18), Cells(160, 18)).Value
For lr = 1 To 160
    If arr(lr, 1) >= 85 Then
    ss = 28
    Else
    ss = 14
    End If
    Worksheets("Лист2").Rows(lr + 98).rowheight = ss
Next
End Sub.
Хочется сделать так  что бы само действие введенного условия было после цикла.
Объясняю, Когда больше миллиона строк, то это долго обрабатывать. Для чего именно так-когда ячейки объединены, автопобор высоты строк не работает. Поэтому по количеству символов я определяю какой высоты будет строка. Да и вообще, если кто-то мне поможет в этом разобраться, будет проще и другие условия выполнять после цикла. а не по отдельности каждого значения. Из всего что вычитал в интернете понял только примерную структуру. А как реализовать не понимаю.
Код
Sub Test()
Dim arr, lr, i, ss As Long
arr = Range(Cells(1, 18), Cells(160, 18)).Value
For lr = 1 To 160
    If arr(lr, 1) >= 85 Then
    ss = 28 ' при значении lr=1,7,8,9,15,19,22 и т.д.( это должно быть как бы первым набором для условия)
    Else
    ss = 14 ' при значении lr=2,3,4,5,6,10,11 и т.д., т .е. все остальные ( это должно быть вторым набором для условия)
    End If
Next
' и вот здесь накопленный, набор в данном случае строки (1,7,8,9,15,19,22 и т.д.) имеет высоту = 22; а второй накопленный набор  (1,7,8,9,15,19,22 и т.д.) имеет высоту = 14.
End Sub.

Может кто-то что-то подобное делал. Заранее спасибо.

P.S. Надеюсь тему правильно указал. Только пожалуйста не накидывайтеcь.  Я только изучаю VBA. Я не гуру. А то недавно задавал вопрос, сразу сказали что недалекого ума человек.
Ссылка на лист с условием
 
Всем доброго времени суток. Столкнулся с такой проблемой что не могу сообразить как сделать ссылку, которая ссылается на другой лист, но при этом условие выполнялось текущего листа из которого  ссылается сама формула. Пример прикладываю. Исходя из него объясню попонятнее. В ячейке "В2" листов 2-5, стоит условие "да, "нет". Так же в листах 2-5 в ячейке "А3" стоит ссылка на лист1 ячейка "А3". Так вот, на листах 2-3 в ячейке должна стоять формула "Лист1!А3", но при этом само условие, должно выполнятся из значения "В1" текущего листа. Понятно что макросом это не проблема, а вот самой формулой не получается.
Страницы: 1
Наверх