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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Ускорить работу макроса
 
Добрый день!
Есть небольшой макрос, который считает рабочее время. Суть в том, что там очень много раз проходит он по циклу и из-за этого скорость обработки данных низкая. (в файле 1000 строк обрабатывает в течение 1.5 минут, ожидается что в файле будет около 20000 строк и время обработки должно быть более менее адекватным). Я так подозреваю, что это можно вообще решить без циклов, но к сожалению не могу сообразить как. Если кто возьмется помочь, то я могу более подробно рассказать по задаче макроса и тому как сейчас работает. Код прилагаю тут ,файл вышлю исполнителю.

По бюджету 1000 р.
Код
Sub Рассчет()

a = Timer
Application.ScreenUpdating = False

Range(Cells(2, 18), Cells(1048576, 19)).ClearContents

n = Cells(Rows.Count, 7).End(xlUp).Row
n3 = Лист3.Cells(Rows.Count, 4).End(xlUp).Row

Начало_дня = Лист3.Cells(2, 2)
Конец_дня = Лист3.Cells(3, 2)
Начало_обеда = Лист3.Cells(4, 2)
Конец_обеда = Лист3.Cells(5, 2)

Праздники = Range(Лист3.Cells(1, 4), Лист3.Cells(n3, 4))

Массив = Range(Cells(1, 1), Cells(n, 9))



For i = 2 To n
    If Массив(i, 9) = "Выполнен" Then
        Cells(i, 18) = Массив(i, 7)
    Else
        Дата = Массив(i, 7)
        For i2 = 1 To 1440
            Дата = Дата - (1 / 1440)
            If DatePart("w", Дата) = 7 Or DatePart("w", Дата) = 1 Then
                i2 = i2 - 1
                GoTo metka
            End If
            For i3 = 2 To n3
                If DateSerial(Year(Дата), Month(Дата), Day(Дата)) = Праздники(i3, 1) Then
                    i2 = i2 - 1
                    GoTo metka
                End If
            Next i3
            If TimeSerial(Hour(Дата), Minute(Дата), Second(Дата)) > Конец_дня Or TimeSerial(Hour(Дата), Minute(Дата), Second(Дата)) < Начало_дня Or (TimeSerial(Hour(Дата), Minute(Дата), Second(Дата)) >= Начало_обеда And TimeSerial(Hour(Дата), Minute(Дата), Second(Дата)) <= Конец_обеда) Then
                i2 = i2 - 1
                GoTo metka
            End If
            
metka:
        Next i2
        Cells(i, 18) = Дата
    End If
    

    If Массив(i, 8) >= Cells(i, 18) Then Cells(i, 19) = Int(DateDiff("n", Cells(i, 18), Массив(i, 8)) / 60) & ":" & Int((DateDiff("n", Cells(i, 18), Массив(i, 8)) / 60 - Int(DateDiff("n", Cells(i, 18), Массив(i, 8)) / 60)) * 60)
Next i
Application.ScreenUpdating = True
MsgBox Timer - a
MsgBox "Готово"

End Sub



Оптимизировать работающий макрос под Мак
 
Добрый день!
Есть файл Эксель с макросом. Этот файл работает нормально на виндовсе, но на Маке выдает ошибку. Я подозреваю, что дело в русском наименовании объектов и переменных, но может быть и еще причина в чем то. Задача сделать так, что бы работало на Маке.

Бюджет 3000 р.
Сохранение CSV файла макросом
 
Дмитрий(The_Prist) Щербаков, Спасибо, все заработало)
Сохранение CSV файла макросом
 
Добрый день!
Записал макрокодером сохранение CSV файла, получилось так. Проблема в том, что при запуске макроса и повторном открытии этого файла он открывается с разделителями, а не в виде классической таблицы. Но если сохранять руками, то все нормально. В чем может быть причина подскажите пожалуйста.
Код
ActiveWorkbook.SaveAs Filename:=Путь & "\" & Имя & ".csv", _
        FileFormat:=xlCSV, CreateBackup:=False

Изменено: DopplerEffect - 15 Ноя 2019 10:57:08
При разделении данных по символу автоматический перевод числа в экспоненциальный вид
 
БМВ, ппц вот уж не знал, что там можно столбцы нажимать еще, я думал формат определяется целиком для всех столбцов, выбирал текстовый оказывается только на первом))
При разделении данных по символу автоматический перевод числа в экспоненциальный вид
 
Добрый вечер!
Помогите пожалуйста, уже перепробовал все что знал. Есть строка, мне нужно разделить ее на колонки по символу "|", сложность в том, что при использовании текста по столбцам эксель автоматически переводит число в экспотенциальный вид, а мне нужно сохранить его просто как текстовый. Макрос вообще этот волшебный символ отказывается воспринимать и не видит...Как можно решить проблему?
Закрыта личная книга макросов. Не получается запись.
 
Помогло, спасибо большое!)
Закрыта личная книга макросов. Не получается запись.
 
Nordheim, а как в надстройку их сохранять, это что такое? Прикол в том, что восстановить то я текст макросов могу, он есть, но вот эксель в принципе даже после переустановки не хочет их записывать в личную книгу..
Закрыта личная книга макросов. Не получается запись.
 
Добрый день!
Есть такая проблема переодически возникающая на одном из компов на работе, там периодически пропадают макросы, записанные в личную книгу. При этом записать новые макросы в личную книгу также невозможно. При попытке через макрокодер осуществить запись выдает следующее сообщение: "Личная книга макросов в папке автозагрузки должны оставаться открытой для записи". Подскажите пожалуйста, что это может быть и как лечится?
Сводная таблица обновляется со 2 раза
 
Dark1589, Точно!! Спасибо)
Сводная таблица обновляется со 2 раза
 
Dark1589,Источник данных именованный диапазон, в котором зашита формула СМЕЩ, которая выдает массив ссылающийся на другую сводную таблицу.
Сводная таблица обновляется со 2 раза
 
Добрый день!

Впервые столкнулся с такой проблемой, есть сводные таблицы в книге, нажимаю обновить все....Все таблицы обновляются кроме одной, нажимаю повторно обновить и обновляется все. И так каждый раз, сводная таблица на одном листе обновляется только со 2 раза.
Я не пойму то ли это глюк какой то, то ли настройки где то есть дополнительные...Может кто то сталкивался с подобным, в чем может быть причина?

К сожалению файл выложить не могу, т.к. коммерческая информация(
Определить расстояние между двух адресов с учетом дорог
 
Андрей VG, там вроде платно)
Определить расстояние между двух адресов с учетом дорог
 
Там как то через раз срабатывает и не на всех адресах.
Определить расстояние между двух адресов с учетом дорог
 
Добрый день!
Есть 2 адреса, нужно найти между ними расстояние по карте с учетом дорог. Знаю, что тема избита, но решения которые находил, почему то не работают, есть подозрение, что гугл закрыл доступ по API к данным. Подскажите пожалуйста, можно ли как то сейчас реализовать данную задачу, кто сталкивался в последнее время?
Заполнить ListBox в виде таблицы в несколько колонок
 
Спасибо большое! Не знал, что там можно колонки задавать.
Заполнить ListBox в виде таблицы в несколько колонок
 
Добрый день! Подскажите пожалуйста, хочу сделать пользовательскую форму и данные из таблицы заполнять в ListBox, но т.к. значения в ячейках таблицы могут иметь разную длину текста, то запись в лист боксе получается немного не ровной (пример во вложении). Можно ли как то сделать, что бы столбцы в строках четко располагались ФИО под ФИО, телефон под телефоном, Должность под Должностью? Может есть какие то решения более простые...
Макрос для поиска одинаковых значений в разных книгах/листах, Нужен макрос или иной способ реализации поиска одинаковых значений в разных книгах
 
vikttur, ааа, не понял сразу, что вы написали ему. Тогда снимаю свою кандидатуру, если что мне не ответили.
[ Закрыто] создание формулы
 
Функция ЕСЛИ и еще предположу, что операторы И/ИЛИ будут полезны для ознакомления.
Макрос для поиска одинаковых значений в разных книгах/листах, Нужен макрос или иной способ реализации поиска одинаковых значений в разных книгах
 
Добрый день! Пишу в личку
Напротив каждого номера нужно подсчитать ячейки находящиеся от первого номера до следующег
 
Работу сделал, оплату получил, сейчас дополнительно пишу описание работы формулы. От бесплатной ветки заказчик отказался, т.к. не было времени.  
Напротив каждого номера нужно подсчитать ячейки находящиеся от первого номера до следующег
 
Еще не получил)) Ждем ответа, может и в прям не в ту ветку закинули.
Напротив каждого номера нужно подсчитать ячейки находящиеся от первого номера до следующег
 
Добрый день, пишу в личку.
Поиск фамилий на листах и перенос в итоговою табличку., В готовой табличке турнира дописать формулы для итоговой таблички. Автоматический фильтр по убиванию.
 
Я пас. Работа полностью на гугл таблице.
Заполнение бланка письма по данным из таблицы.
 
Добрый день!
Пишу в личку.
Автоматическая вывод в таблицу из заполняющихся ячеек
 
Добрый день! Бюджет обсуждаемый? Если кто то готов сделать за 100, не претендую.
Задание свободно, по бюджету не сошлись.
Изменено: DopplerEffect - 8 Окт 2019 10:41:10
Ищем специалиста на постоянную удаленную работу, Ищем специалиста на постоянную удаленную работу
 
Добрый день! Договорились?
Поиск фамилий на листах и перенос в итоговою табличку., В готовой табличке турнира дописать формулы для итоговой таблички. Автоматический фильтр по убиванию.
 
Добрый день! А работа разовая или вам нужен инструмент для постоянного свода? И в итоге результат должен быть в гугл таблице или можно в Экселе?
Невозможно прочитать часть содержимого документа на MAC
 
Добрый день!
Есть файл Эксель с макросами, делался на Виндовс. При открытии данного файла на MAC возникает ошибка при открытии "Приложению Excel не удалось открыть файл ...., поскольку невозможно прочитать часть его содержимого. Открыть и восстановить эту книгу? Данная ошибка может возникать из-за макроса или что то еще может влиять на совместимость? На Виндовс все в норме.

Подскажите пожалуйста кто сталкивался.  
Покрытие площади
 
Копать нужно комбинаторику. В частности посмотрите задачу о рюкзаке.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Наверх