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

Страницы: 1
Автоматическое копирование диапазона ячеек таблицы по условию на другой лист с помощью VBA
 
Цитата
Anchoret написал:
вот и макрос:
Спасибо огромное. Ушел пробовать :)
Автоматическое копирование диапазона ячеек таблицы по условию на другой лист с помощью VBA
 
Я бы хотел максимально разграничить эти два файла, ну насколько это возможно. Бухгалтер открыл свой файл, сработал макрос, данные обновились, результат записан в строку. В конце месяца сумма превышений, а вместе с ней и премия посчитана с минимальными телодвижениями
Автоматическое копирование диапазона ячеек таблицы по условию на другой лист с помощью VBA
 
Цитата
Пытливый написал:
возможно гораздо проще будет сделать единую плоскую таблицу, в которой, умело сортируя данные сначала по отделу, потом по месяцу, затем по количеству
К сожалению, так не получится. Вторую книгу я думал разместить совсем в другом отделе, в бухгалтерии, чтобы наглядно было видно, кто, когда, где и насколько превысил норму. Просто столбцы необходимых данных по сотрудникам, без ненужного мусора.

Ладно, буду думать дальше. Или вдруг подскажет кто :) Вам спасибо за потраченное время
.
Автоматическое копирование диапазона ячеек таблицы по условию на другой лист с помощью VBA
 
Цитата
Пытливый написал:
без предварительного взгляда на исходные данные (как расположены, как организованы, как заполняются, куда должны быть скопированы) - не подскажу.
Все совершенно не критично в плане расположения и организации данных в ИТ. Можно перестроить, скомпоновать и отформатировать так, как будет нужно для работы макроса. Второй файл, ДРК - просто пустая таблица, в которую нужно будет копировать данные.

В общем, из примера, где EDV1 ,будет ИТ - при значении в ячейке F3>100, копируем диапазон ячеек B3:E3 в другой файл, в диапазон B30:E30. Переход на следующую строку, проверка условия для F4. Если выполняется, снова копируем диапазон ячеек уже из 4 строки, т.е. B4:E4 в ДРК, в диапазон B30:E30, а все, что было заполнено в ДРК в B30:E30 переносим в B31:E31

Затем проверяем условие в ИТ F5 и так далее, потом переходим с января на февраль, аналогичная проверка и так до конца года..  
Автоматическое копирование диапазона ячеек таблицы по условию на другой лист с помощью VBA
 
Приветствую всех!
Очень хочется перестать заниматься рутиной и автоматизировать следующую работу:

имеется большая исходная таблица (ИТ) с данными, одна ИТ на на одного сотрудника. В этой таблице очень много разных данных, и те, которые меняются редко (цех, отдел итд) и те, которые заполняются каждый день вручную - где работал, что делал, когда и сколько... Каждая строка в ИТ - один рабочий день сотрудника.

Суть хотелки: при достижении определенного условия, к примеру, сделал сотрудник 100 или более деталей за смену, из ИТ, из строки с датой, когда сработало заданное условие, автоматически выбирается некоторый, всегда постоянный по количеству ячеек диапазон, а затем этот диапазон так же автоматически записывается в ДРК - другую рабочую книгу (файл)  в определенное место (диапазон). Каждая новая запись с более поздней датой производится в файл ДРК, в самый верх диапазона, отодвигая все имеющиеся в диапазоне предыдущие записи на одну строчку вниз.

И тогда, если все получится, в ДРК можно собрать в разных колонках данные всех сотрудников, перевыполнивших дневную норму (данные из разных ИТ по разным сотрудникам). Все наглядно и удобно, а главное - никого не пропустят, как это довольно часто случается в конце месяца при ручных сортировках ИТ.

Такое реализовать реально или это - ненаучная фантастика? :)
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Ясно. Спасибо!
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Работает!! И по одиночному клику, и просто по переводу курсора мышки на ячейку клавишами! Здоровски получилось, спасибо еще раз!

ЗЫ. Сейчас заметил небольшой глюк - если кликнуть мышкой по некоторым ячейкам с уже введенным временем, курсор становится активным и время можно редактировать. Закономерность такая: клик на ячейке, курсор автоматом переходит на ячейку на одну строку ниже и эта ячейка становится доступной для редактирования
Изменено: yuriyk24 - 14.12.2018 14:51:28
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Цитата
Юрий М написал:
См. вариант. Диапазон поменяйте на нужный Вам:
Посмотрю обязательно и расскажу, как все заработало! :)
Юрий, спасибо Вам большое!!!
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Цитата
Юрий М написал:
yuriyk24 , Вы видели, как код оформлен у других? Вот и Вы оформляйте свой: ищите такую кнопку (см. скрин) и исправьте своё сообщение.
Видел конечно. Исправил. Ну а на тему кода - понять я понимаю, а вот реализацию сделать ирреально. Код ведь не мой, я его вставил и заработало (часть с закрытием ячеек после ввода данных), а вот приладить к этому всему вставку даты по клику мышки мне с моими знаниями пока ирреально  
Изменено: yuriyk24 - 14.12.2018 14:32:56
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Без защиты все это конечно не имеет смысла. Нашел довольно простое решение на тему одноразового ввода данных, после которого ячейка закрывается, только как подружить диапазоны в макросе с кликом мышки и этой защитой - без понятия, потому что в VBA не знаю практически ничего.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then Target = Time
If Intersect(Target, Range("C2:F35")) Is Nothing Then Exit Sub
Target.Parent.Unprotect "pass"
Target.Locked = True
Target.Parent.Protect "pass"
End Sub
Изменено: yuriyk24 - 14.12.2018 14:19:51
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Sanja,, спасибо большущее! Эх, как же мне хочется знать и уметь все сразу :)
Изменено: yuriyk24 - 13.12.2018 20:52:04
Ввод в ячейку текущего времени (не обновляемого) по клику мышки, Ввести текущее время системы в ячейку мышкой и закрыть ячейку для любого другого ввода
 
Приветствую всех форумчан!

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

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

Поиском, к сожалению, не нашел ничего похожего, разве что вот это
https://www.planetaexcel.ru/techniques/6/44/. Макрос классный, но это не совсем то, чего хотелось бы...

Спасибо всем неравнодушным :)
Изменено: yuriyk24 - 13.12.2018 19:25:57
Страницы: 1
Наверх