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

Страницы: 1 2 След.
Сбор данных с нескольких листов в одну таблицу
 
Проверяйте. А чтобы было понятно, как это всё работает, читайте ВПР с поиском по нескольким листам - это прям один в один ваш случай. Обратите внимание, в примере формулы массивов.
Сбор данных с нескольких листов в одну таблицу
 
Не очень элегантно, без привязки к магазину и к имени листа (без udf не представляю как это реализовать), но работает вроде, смотрите
Удаление макросов из модуля листа при его копировании в новую книгу
 
Dima S, попробовал, результат корректный. Спасибо Вам за отклик и оптимизацию кода
Удаление макросов из модуля листа при его копировании в новую книгу
 
Цитата
Dima S написал:
xlsx формат не подразумевает сохранения макросов
Тут не поспоришь. Но таким вариантом эксель ругается, что я пытаюсь сохранить файл с макросами в файл с типом их не поддерживающим. Спасибо за подсказку про отключение сообщений о событиях, сам недотрямкал, но с ними начинается чертовщина. Делаю так:
Код
...
    NewWb.SaveAs Filename:=iPath & "Копия_" & DateString, FileFormat:=xlOpenXMLWorkbook
    NewWb.Close

    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.DisplayAlerts = True

    MsgBox "Копия_" & DateString & " сохранена в папку: " & iPath, vbInformation, "Завершено"
End Sub
В итоге новый файл сохраняется, MsgBox не выводится, исходный файл закрывается, новый файл остаётся открытым и еще и спрашивает подтверждение на сохранение изменений при закрытии. Жить, в принципе, можно... но задумка была другая и хочется реализовать именно её.
Изменено: khama - 09.10.2018 03:54:03
Удаление макросов из модуля листа при его копировании в новую книгу
 
Сергей, sokol92, к сожалению, дело не в этом.
Ігор Гончаренко, не то.

Приложу файл примера, может с ним будет удобнее. Там макрос запускается с третьего листа, копирует 1 и 2 листы, создаёт новый файл, но макросы из модулей созданных копированием листов не удаляет... на этом и застревает с ошибкой. Код удаления макросов сам по себе рабочий, я его отдельно проверил. Наверняка я его неверно помещаю в общий макрос. На всякий случай код из файла примера под спойлером.
Скрытый текст
Изменено: khama - 09.10.2018 02:56:19
Удаление макросов из модуля листа при его копировании в новую книгу
 
Всех приветствую!
Информации на эту тему порядочно. Читал здесь и здесь, но у меня не получается это реализовать :(

Есть макрос копирования двух листов в новую книгу
Скрытый текст

В модулях обоих листов на событие Worksheet_Activate повешены макросы. Разумеется они копируются вместе с листами. Код из указанных выше ссылок для удаления макросов в скопированных листах не срабатывает в моем исполнении, когда я его интегрирую в макрос копирования листов. Интегрирую - громко сказано :) Как варианты, запихивал код после Set NewWb = ActiveWorkbook, пробовал перед вызовом диалога выбора пути для сохранения, и по всякому крутил - тщетно. Метод тыка не сработал, прошу помощи.

Подстановка макросом отпусков (из графика отпусков) в график работы
 
Александр П., верно. Вы рискнули предположить и выиграли приз зрительских симпатий!  ;)  Благодарю Вас
Изменение в различных ячейках excel формата даты с сохранением времени
 
Можно в форматах ячейки установить "все форматы" тип: ДД-ММ-ГГГГ ч:мм:сс
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Странно, вчера написал здесь сообщение, а сегодня его нет...

Обнаружилась такая беда - если человека, которому назначены даты начала и окончания отпуска на листе Отпуска, не включить в график работы на листе Месяц, то при работе макроса отпуск этого человека подставляется в график работы другому человеку. Каким образом можно устранить этот нежданный бонус?
Запрет протягивания ячеек
 
Ts.Soft, оу, это важно, не подумал. Спасибо большое!
Запрет протягивания ячеек
 
Ts.Soft, спасибо за птичку, нашел параметр макрорекордером - Application.CellDragAndDrop = False
Запрет протягивания ячеек
 
Цитата
Ts.Soft написал:
нужен запрет в конкретном файле только от протягивания
Да. Остальные функции нужны рабочими
Запрет протягивания ячеек
 
А эта настройка будет применена к книге независимо от того, с какого компьютера она будет открыта? Или это только персональная настройка приложения?
Запрет протягивания ячеек
 
Уважаемые форумчане, подскажите пожалста, можно ли объявить запрет на протягивание ячеек на листе (за квадратик в правом нижнем углу выделения)?
Внести значение в ячейки столбца с шагом, если заголовок столбца соответствует условию, и очищать их когда не соответсвует, Макрос
 
Цитата
Maruf написал:
полностью изменённый код
Поигрался со значениями - это прям конструктор, очень удобно и понятно. Спасибо Вам большое!
Внести значение в ячейки столбца с шагом, если заголовок столбца соответствует условию, и очищать их когда не соответсвует, Макрос
 
Цитата
Maruf написал:
внутри последнего цикла
Пардон, но я не понимаю, что это значит )) Вообще у меня 5 блоков по 50 статей каждый. Диапазоны известны, форма статична
Внести значение в ячейки столбца с шагом, если заголовок столбца соответствует условию, и очищать их когда не соответсвует, Макрос
 
Maruf, интересное решение. Спасибо Вам, вполне применимо к моей форме. Гораздо компактнее и интереснее выхлопа макрорекодера  :)  + Вам в карму.
И, поскольку я VBA не понимаю, вопрос исключительно из любопытства, можно ли было в данном случае использовать условие Step 3? Или это только для перебора столбцов годится?
Внести значение в ячейки столбца с шагом, если заголовок столбца соответствует условию, и очищать их когда не соответсвует, Макрос
 
Всех приветствую!

Собственно самого макроса у меня нет, Уокенбаха читать только начал  :)
Если кому не сложно, то буду благодарен за готовый макрос того, что описал в названии темы топика.
В примере работу макроса я изобразил формулами в залитых желтым ячейках. Если поменяете месяц, то будет видно, что должно происходить в жёлтых ячейках.
Логика в формуле простая - если заголовок одного из трех последних столбцов (это даты) равен значению из диапазона S3:AB3 (залит синим), то ячейки в этих столбцах со строки 12 с шагом 3 принимают значение "23:30". При этом ячейки, находясь в одном столбце, находятся в разных диапазонах (обозначил жирными границами). И соответственно, если значение заголовка столбца не в диапазоне S3:AB3, то жёлтые ячейки принимают значение пусто.
Поиск в диапазоне значений по заданному условию и помещение их в другой диапазон, друг за другом без повторений, Формула массива требует доработки на добавление еще одного условия к уже имеющемуся
 
В ожидании адекватной помощи добился нужного результата неправильным путём  :)  - добавил еще одну строку с данными (зеленым выделил).
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Юрий М, необходимость в проверке Вами кода в файле отпала. Вы совершенно верно указали на эту строку. Убрал её и вопросы отпали, макрос корректно отрабатывает. Спасибо Вам ещё раз!
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Прошу прощения, к сожалению, быстро не смогу его сваять. Будет чуть позже
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Нет. А надо?  :oops:
В вашем примере она была закомментирована и я решил, что ее использование на мое усмотрение. 104 это последняя строка с данными в списке.
Поиск в диапазоне значений по заданному условию и помещение их в другой диапазон, друг за другом без повторений, Формула массива требует доработки на добавление еще одного условия к уже имеющемуся
 
Приложил не тот пример  :(  Исправился
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Юрий М,а Ваш ранний макрос, в котором я устранил допущенную мною же ошибку, работает отлично. Пока им спасаюсь, но он очень долго работает  :)  
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Юрий М, что-то всё таки некорректно работает на продуктиве. Даты периодов у меня с 3 по 10 столбец, и я LastColumn заменил на 10.
В примере эта конструкция хорошо работает на трех сотрудниках. Но в продуктиве их под сотню и ставятся не те периоды отпуска не тем сотрудникам. Продуктив выложить не могу, он слишком толстый. В чём может быть проблема?
Код
Sub Proverka_Otpuskov()
Dim LastRow As Long, DateBegin As Date, DateEnd As Date, k As Long
Dim iRow As Long, i As Long, j As Long, Rng As Range
    With Sheets("Отпуска")
        LastRow = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 5 To LastRow
        If i = 104 Then Stop
            Set Rng = Columns(6).Find(what:=.Cells(i, 2), LookIn:=xlValues, LookAt:=xlWhole)
            If Not Rng Is Nothing Then
                iRow = Rng.Row
                Range(Cells(iRow, 8), Cells(iRow, 38)).ClearContents
            End If
            For j = 3 To 10 Step 2
                DateBegin = .Cells(i, j)
                DateEnd = .Cells(i, j + 1)
                For k = 8 To 38
                    If Cells(10, k) >= DateBegin Then
                        If Cells(10, k) <= DateEnd Then Cells(iRow, k) = "23:31"
                    End If
                Next
            Next
        Next
    End With
End Sub
Изменено: khama - 14.09.2018 10:59:04
Поиск в диапазоне значений по заданному условию и помещение их в другой диапазон, друг за другом без повторений, Формула массива требует доработки на добавление еще одного условия к уже имеющемуся
 
Доброго времени суток, уважаемые!
Использовал формулу массива из этой замечательной статьи, и прошу помощи в её доработке, ибо сам не осилил.

В примере приведен диапазон дат (с 1 февраля по 3 марта). Формулой массива (в диапазоне S3:AB3 в каждой ячейке она индивидуальная) из диапазона дат выбираются даты, совпадающие с праздничными днями, и выставляются по порядку друг за другом. Хотелось бы, чтобы из диапазона дат можно было получить не только праздничные, но и те, которые превышают последнее число заданного месяца (в примере это 1, 2 и 3 марта).

Спасибо за внимание  :)
Изменено: khama - 14.09.2018 11:45:55
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Замечательно! Спасибо большое, Ваш код работает отлично и в разы быстрее первого
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Юрий М,большое спасибо за помощь!
Не могли бы Вы еще объяснить мне, какие значения в этом коде обозначают номера столбцов с датами отпуска на листе "Отпуска"? А то смотрю в код и вижу фигу :)
Первоначальный макрос мне удалось таки починить. Теперь хочу сравнить их по быстродействию, а номера столбцов в продуктиве изменились :(
Подстановка макросом отпусков (из графика отпусков) в график работы
 
Юрий М, :)
В том проекте, для которого Вы его писали, он работает без ошибок. Проблемы возникли при моей адаптации макроса к моим условиям.  
Подстановка макросом отпусков (из графика отпусков) в график работы
 

Всем доброго времени суток! Никогда такого не было и вот опять :)

Адаптирую под свои цели (расстановка отпусков в графике работы) макрос, когда-то написанный уважаемым Юрием М и позаимствованный мной на этом форуме.

Макрос отрабатывает без ошибок, но безрезультатно (почти). По сути макрос должен брать исходные данные из листа «Отпуска» и, в случае истины, помещать значение 23:31 (мой аналог ОТ) в соответствующие даты сотрудникам на листе «Месяц». В примере желтым цветом обозначил, как это должно быть.

В макрокодировании слаб, но как понимаю, процедуры макроса циклично проходят по ячейкам. И в моём случае вместо подстановки нужного значения вычищают весь диапазон :)

Буду рад принять любую помощь. Если что, в примере есть лишние пронумерованные листы, на всякий случай, для соблюдения структуры книги (как я понял, макрос на структуру тоже завязан).

Изменено: khama - 12.09.2018 07:30:08
Страницы: 1 2 След.
Наверх