Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 463 След.
Цмкл. Переход к следующему условию, если предыдущее не было выполнено
 
см №10
По вопросам из тем форума, личку не читаю.
Цмкл. Переход к следующему условию, если предыдущее не было выполнено
 
могу предположить что
Код
For i = 3 To 13
'…. code
    Sheets("Combined").Range("A2:I" & LastRowColumnA).AutoFilter Field:=2, Criteria1:=LocationPraemise
    If Intersect(Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row), Cells.SpecialCells(xlCellTypeVisible)).Count > 1 Then
        Range("A3:C" & LastRowColumnA).SpecialCells(xlCellTypeVisible).Select
' …..code
next
Изменено: БМВ - 4 Апр 2020 08:34:12
По вопросам из тем форума, личку не читаю.
Цмкл. Переход к следующему условию, если предыдущее не было выполнено
 
RAN, Анрей, это к случаю  если б я не прав, то непонятно из какого цикла выходить при переборе всех условия, ведь условия это тот цикл 1-13 и другого нет.
По вопросам из тем форума, личку не читаю.
Как в формуле массива, записанной для диапазона большего размера, убрать #Н/Д?
 
Цитата
Vas-1998 написал:
А он не почему то не слышит)
он слышит, но на вход IFERROR подается массив 2x2. на выходе все также 2x2, о вы используете массивную формула в диапазоне 3x3 - что выходит за пределы массива и ошибка появляется не на уровне формулы а уже на уровне отображениям . Это равносильно
=INDEX(MMULT(C3:D4;G3:H4);3;3)  или для простоты INDEX({1;2};3)
избавляться если не форматом, наверно только так
=IFERROR(INDEX(MMULT($C$3:$D$4;$G$3:$H$4);ROW($A$1:$C$3);COLUMN($A$1:$C$3));"")
или так
=IFERROR(INDEX(MMULT($C$3:$D$4;$G$3:$H$4);ROW(A1);COLUMN(A1));"")
но уже заполняя по отдельности
Изменено: БМВ - 3 Апр 2020 20:50:57
По вопросам из тем форума, личку не читаю.
Цмкл. Переход к следующему условию, если предыдущее не было выполнено
 
Парни, ну что вы накинулись, даже медведю понятно что все перевернулось.

попробую расшифровать, нужно не выйти, а перейти к следующему I,   если в отфильтрованном диапазоне ничего нет.
Nasty621, так? но если так, то некорректно название, если нет - то некорректен пример.
Изменено: БМВ - 3 Апр 2020 19:57:12
По вопросам из тем форума, личку не читаю.
О модераторе
 
Цитата
Jack Famous написал:
только работать мешают все эти "приколы"  
не там кавычки поставил  - только "работать" мешают все эти приколы  :D
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
Михаил Витальевич С.,  Михаил, для формулы 3й столбец тоже не обязателен, но облегчит, а вот по времени расчета кодом-  может и да, а может и нет. В любом случае правильно написанная формула будет работать много быстрее чем сейчас.  А код будет сложнее.
По вопросам из тем форума, личку не читаю.
О модераторе
 
Цитата
Sanja написал: Соблюдая дистанцию.
Вауууу, кто пожаловал!!! Икалось?  :D
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
Владимир, приветствую. Нет, я исключительно про данный случай говорю. Хотя как всегда считаю, что прибегать к коду нужно только тогда когда другие возможности или отсутствуют или не эффективны, как правило из-за большого количества повторных операций.
Изменено: БМВ - 3 Апр 2020 14:08:06
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
Цитата
sokol92 написал:
поскольку всё равно применяются макросы, нет смысла в использовании формул
А медведь против!!! Отказ от формулы может сильно усложнить код, и не факт что даст выигрыш в скорости, ну разве что область значений будет обрабатывать.
По вопросам из тем форума, личку не читаю.
Название общераспространенных полезных ископаемых, исходя из глубины залегания
 
Сергей,  последнюю единичку то совсем можно убрать =ВПР(A3;$D$6:$F$11;3)
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
Дмитрий(The_Prist) Щербаков, Дмитрий, Тут главное чтоб затраты на статус бар и его индикацию суммарно не превысили затраты на основное действие  :D . При текущей формуле это конечно не относится к данной задаче.

Цитата
DaePae написал: Это... Очень грубая и страшная ошибка.
Ок, тогда задачу надо решать иначе, раз уже все равно макрос, то временно сделать на листе 3 столбец где склеиваем нужное для поиска, что сразу позволит уйти от формул массива и ускорит расчет. Диапазон для поиска тоже можно сделать динамическим, это конечно сделает формулу длиннее, но тоже ускорит расчет. А если сразу формулу генерить в коде, то и вовсе диапазон сразу можно подставить нужный.

30 мин калькуляции  - люди, что вы делаете?!!! Планета перегревается от таких расчетов!!!

о сам не заметил, как каламбур написал  planetaexcel перегревается от таких расчетов  :D

ТЕМА: Как при помощи статус бара использовать остатки мощности процессора занятого не эффективным расчетом?  ;)
Изменено: БМВ - 3 Апр 2020 13:50:08
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
Цитата
DaePae написал:
Но зато я про это могу забыть и знаю, что она всегда пробежит этот диапазон и его не нужно никогда контролировать.
тогда поясните, как вас спасет это при  условии что  вы уже зафиксировали диапазон INDEX('3'!$A$1:$G$2560; чтоб вы ненашли в строках больше 2560 не отработает. и будет ошибка
попробуйте так, за логику я не уверен

=IFERROR(
IFERROR(
IF(INDEX('3'!$A$1:$G$2560;MATCH($A4&D$3&D$1;'3'!$C$1:$C$2560&'3'!$A$1:$A$2560&'3'!$B$1:$B$2560;0);MATCH(D$2;'3'!$1:$1;0))="";"не должны, но внесли";"Х");
INDEX('3'!$A$1:$G$2560;MATCH($A4&D$3&D$1;'3'!$C$1:$C$2560&'3'!$A$1:$A$2560&'3'!$B$1:$B$2560;0);MATCH(D$2;'3'!$1:$1;0)));
"нет в выгрузке")
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
DaePae, читайте №6. Вам нужно оптимизировать формулу, а не мультик показывать пока она считает.
Ограничьте диапазон столбцов разумным, Сколько у вас максимально данных? 10 -100 тыс. но не миллион же. Сколько раз вы по этому миллиону бегаете сейчас? Вот ваши тормоза и вылезают.
Изменено: БМВ - 3 Апр 2020 10:59:14
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
DaePae, Ответы уже пошли не по вопросу, но беда в том что у вас сама формула некорректна с точки зрения производительности, вот и тормозит все

=IFERROR(IF(ISNA(MATCH($A4&D$3&D$1&D$2;'2'!$C:$C&'2'!$A:$A&'2'!$D:$D&'2'!$B:$B;0));
INDEX('3'!$A$1:$G$2560;MATCH($A4&D$3&D$1;'3'!$C:$C&'3'!$A:$A&'3'!$B:$B;0);MATCH(D$2;'3'!$1:$1;0));
IF(INDEX('3'!$A$1:$G$2560;MATCH($A4&D$3&D$1;'3'!$C:$C&'3'!$A:$A&'3'!$B:$B;0);MATCH(D$2;'3'!$1:$1;0))="";"не должны, но внесли";"Х"));
"нет в выгрузке")

Вы используете для поиска диапазон всего столбца  или строки. В случае одноразового выполнения - это худо бедно отработает, но не в случае массовой формулы. Меняйте на здравые. Все что такое '2'!$C:$C&'2'!$A:$A&'2'!$D:$D&'2'!$B:$B - это полный атас. Далее Дважды искать не имеет смысла, двойная работа и первый ЕСЛИ надо менять на ЕСЛИОШ.
Уверен, что залетает все.

Ну и в качестве реабилитации второго скрипта- кто ж знал что у вас формула массива в ячейке. Тут требуется по иному.
Изменено: БМВ - 3 Апр 2020 10:48:43
По вопросам из тем форума, личку не читаю.
Статус бар с количеством заполненных и пустых ячеек
 
DaePae, Я правильно понимаю что вместо быстрого результата вам нужна визуализация искуственно замедленного процесса?

Код
Sub PereborDiapazonaYacheek()
    Range("D4").Copy
    With Range("D5:O943")
        .PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        .Copy
        .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End With
    Application.CutCopyMode = False
End Sub


Цитата
МатросНаЗебре написал:
   MyRange.Parent.UsedRange.Calculate
- а вот это опасно. Не зная что за формула и какие связи , включены ли итерации, можно пересчитать не всё что нужно и получить некорректный результат.
Но если даже так то почему не просто
Код
    MyRange.Calculate


А вот за напоминание FormulaR1C1 = Range("D4").FormulaR1C1 спасибо. Позволило уложиться в отведенных мне 10 строк :-)

Код
Sub PereborDiapazonaYacheek1()
    With Range("D5:O943")
        .FormulaR1C1 = Range("D4").FormulaR1C1
        .Calculate
        .Copy
        .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End With
    Application.CutCopyMode = False
End Sub
Изменено: БМВ - 3 Апр 2020 11:29:36
По вопросам из тем форума, личку не читаю.
Ограничение на длину текста в ячейке при использовании пользовательского формата с @
 
Отображается 256 символов. Это ограничение многих текстовых функций.
По вопросам из тем форума, личку не читаю.
Подтянуть значение из Access в Excel
 
Цитата
Ungrateful написал:
Это вроде бы обычная умная таблица, но у нее есть свойство внешних данных.
Дело в том что, как таковые Умные таблицы, появились позднее чем появились QueryTable. А вот просто таблицы, фактически именованные области с определенными свойствами, были давно. А создано элементарно через запрос к внешним данным.
По вопросам из тем форума, личку не читаю.
О модераторе
 
Дистанционку! Юр. Дистанционку!  :D
По вопросам из тем форума, личку не читаю.
О модераторе
 
С работы уволился?  :D
По вопросам из тем форума, личку не читаю.
Подтянуть значение из Access в Excel
 
Цитата
RAN написал:
Так на то функции VBA есть
ну это и не VBA функции в данном случае. Все вам котам накодить.
По вопросам из тем форума, личку не читаю.
Подтянуть значение из Access в Excel
 
подключение к access  указано в самом подключении.
, а к Excel таблице указано непосредственно в запросе. Там же указано HDR=YES, что означает что первая строка заголовок. Таблицы можно называть хоть Даша и Маша. Главное обозначить.
По вопросам из тем форума, личку не читаю.
Подтянуть значение из Access в Excel
 
ON (TDA.Контрагент LIKE TDE.Контрагент% ) если память не подводит
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Игорь, я думаю искать нужно в той локации или на том языке. Просто есть вот такие ветки https://www.excelforum.com/non-english-excel/ которые  для многих ни о чем не скажут, а может там все есть.

P.S. мне не помогло, я сперва все сгенерил, а потом заметил :-) , но формулисту решение с форматом было ближе, так что это я так для самоизоляции, тьфу ты , короче сегодня и так не скучно было, а тут еще и задача с практическим применением.
Изменено: БМВ - 1 Апр 2020 19:23:34
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Hugo,  Я ради кого все это затеял?  :) Не мог же я оставить уважаемого форумчанина без персидского календаря  :D
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Цитата
sokol92 написал:
будет работать для всех версий Excel при любых региональных настройках.
все верно. Мое мнение, что решение в excel должно быть самодостаточным и любая функция, что в надстройке или персональной книге - это зло. Да простят меня писатели подобных надстроек. Обратная совместимость и совместимость с различными региональными настройками , а также с Mac версией, должна быть максимальна.
Предыдущая версия не работала в 2007 и хоть он и не поддерживается больше, но люди с 2003 еще не слезли.
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Не знаю, будет ли быстрее или наоборот.
Код
Function GetMonth(ByVal strDate As String) As Integer
Dim i As Integer
Static StrArr(1 To 12) As String
If StrArr(1) = "" Then
    arrm = Array( _
        Array(1601, 1585, 1608, 1585, 1583, 1740, 1606), _
        Array(1575, 1585, 1583, 1740, 1576, 1607, 1588, 1578), _
        Array(1582, 1585, 1583, 1575, 1583), _
        Array(1578, 1740, 1585), _
        Array(1605, 1585, 1583, 1575, 1583), _
        Array(1588, 1607, 1585, 1740, 1608, 1585), _
        Array(1605, 1607, 1585), _
        Array(1570, 1576, 1575, 1606), _
        Array(1570, 1584, 1585), _
        Array(1583, 1740), _
        Array(1576, 1607, 1605, 1606), _
        Array(1575, 1587, 1601, 1606, 1583))
    
    For i = 1 To 12
        For j = 0 To UBound(arrm(i - 1))
            StrArr(i) = StrArr(i) & ChrW(arrm(i - 1)(j))
        Next
    Next
End If

For i = 1 To 12
    If StrComp(strDate, StrArr(i), vbTextCompare) = 0 Then
        GetMonth = i
    Exit For
    End If
Next
End Function
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Цитата
Acid Burn написал:
Надеюсь, на этом тема закрыта.
Ну да, конечно  :D
Код
Function GetMonth(ByVal strDate As String) As Integer
Dim i As Integer
Static StrArr(1 To 12) As String
If StrArr(1) = "" Then
    arrm = Array( _
        1601, 1585, 1608, 1585, 1583, 1740, 1606, 0, _
        1575, 1585, 1583, 1740, 1576, 1607, 1588, 1578, _
        1582, 1585, 1583, 1575, 1583, 0, 0, 0, _
        1578, 1740, 1585, 0, 0, 0, 0, 0, _
        1605, 1585, 1583, 1575, 1583, 0, 0, 0, _
        1588, 1607, 1585, 1740, 1608, 1585, 0, 0, _
        1605, 1607, 1585, 0, 0, 0, 0, 0, _
        1570, 1576, 1575, 1606, 0, 0, 0, 0, _
        1570, 1584, 1585, 0, 0, 0, 0, 0, _
        1583, 1740, 0, 0, 0, 0, 0, 0, _
        1576, 1607, 1605, 1606, 0, 0, 0, 0, _
        1575, 1587, 1601, 1606, 1583, 0, 0, 0)
    
    For i = 1 To 12
        For j = 1 To 8
            If arrm(i * 8 - 9 + j) <> 0 Then StrArr(i) = StrArr(i) & ChrW(arrm(i * 8 - 9 + j))
        Next
    Next
End If

For i = 1 To 12
    If StrComp(strDate, StrArr(i), vbTextCompare) = 0 Then
        GetMonth = i
    Exit For
    End If
Next
End Function
По вопросам из тем форума, личку не читаю.
UDF для конвертации персидской даты в григорианскую
 
Acid Burn, для конретного случая можно синтезировать вариант из моего и Владимира. Я делал функцию которая найдет месяц из строки даже если там есть что-то лишнее. Владимир же передает в нее только название месяца и тогда можно просто сравнивать.
Код
Function GetMonth(ByVal strDate As String) As Integer
Dim i as integer
For i = 1 To 12
    If StrComp(strDate, WorksheetFunction.Text(DateSerial(1900, i, 1), "[$-160429]mmmm"), vbTextCompare) = 0 Then
        GetMonth = 1 + ((i + 8) Mod 12)
    Exit For
    End If
Next
End Function
По вопросам из тем форума, личку не читаю.
О модераторе
 
Цитата
vikttur написал:
А куда я денусь? Буду.
ну как куда, в ПМЖ. Вон и он тоже заходит  :D
По вопросам из тем форума, личку не читаю.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 463 След.
Наверх