|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - Создание "сложных" правил для выделения ячеек в excel 2016 |
|
|
2016 - Создание "сложных" правил для выделения ячеек в excel 2016
|
Пользователь Сообщения: 87 |
Профиль | Отправить PM | Цитировать
у нас на работе поставили турникет и всем раздали карточки с чипами. Этот турникет через програму генерирует отчеты в excel файл. Шапку документа не бирём в счет, одна строка содержит точное время, направление (вход/выход), номер карточки и имя владелица. Мне надо сделать красный фон всех ячеек ряда (до владелица карточки) в тех случеях если сотрудник имеет вход поже 08:35:00 или выход ранише 17:25:00. Хочется автоматизировать процес ибо сотрудников 100+ и обрабатывать вручную всё выходит муторно. Прикрепляю документ для ваших опытов.14. Judecatori.xlsx
|
|
Отправлено: 00:53, 20-12-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Если «ручками»:
Можно написать макрос, который будет делать подобное автоматически, а Вы сможете поместить его, например, в персональную книгу макросов и вызывать для обработки активного Рабочего листа. Можно написать скрипт, который Вы будете «натравливать» на файл Рабочей книги Excel. Что скажете? |
Отправлено: 02:11, 20-12-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 02:17, 20-12-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Tolea3:
Цитата Iska:
|
||
Отправлено: 02:19, 20-12-2017 | #4 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Iska, да мне и то и то понятны тока на половину. так что, что сделаите тому и буду рад
|
|
Отправлено: 02:21, 20-12-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, давайте попробуем скрипт WSH:
Скрытый текст
Option Explicit Const xlDown = &HFFFFEFE7 Const xlPasteValues = &HFFFFEFBD Const xlMultiply = 4 Const xlCellValue = 1 Const xlBetween = 1 Dim strSourceFile Dim objFSO If WScript.Arguments.Count = 1 Then Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") strSourceFile = objFSO.GetAbsolutePathName(WScript.Arguments.Item(0)) If objFSO.FileExists(strSourceFile) Then Select Case LCase(objFSO.GetExtensionName(strSourceFile)) Case "xls", "xlsx" With WScript.CreateObject("Excel.Application") With .Workbooks.Open(strSourceFile) With .Worksheets.Item(1).Range("B7") If .Value = "Время" Then With .Range("E8") .Value = 1 .Copy End With With .Parent.Range(.Offset(1, 0), .Offset(1, 0).End(xlDown)) .PasteSpecial xlPasteValues, xlMultiply, False, False With .FormatConditions .Delete .Add(xlCellValue, xlBetween, CDbl(#08:35:00#), CDbl(#17:25:00#)).Interior.ColorIndex = 3 End With End With .Range("E8").ClearContents .Range("A1").Select Else WScript.Echo "Can't find value [Время] in [B7] cell." .Select .Application.Visible = True WScript.Quit 4 End If End With .Save .Close End With .Quit End With Case Else WScript.Echo "Probably source file [" & strSourceFile & "] not an Excel Workbook." WScript.Quit 3 End Select Else WScript.Echo "Can't find source file [" & strSourceFile & "]." WScript.Quit 2 End If Set objFSO = Nothing Else WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>" WScript.Quit 1 End If WScript.Quit 0 Сохраните код в файл с расширением «.vbs». Путь к исходному файлу Рабочей книги указывается аргументом скрипта (также можно просто перетянуть файл Рабочей книги на скрипт в Проводнике). |
Отправлено: 04:06, 20-12-2017 | #6 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Iska, спс за ваши труды но паралелино дали совет по проше с другова источника
создаём новое правило: =И($C9="вход";$B9>"08:35")+И($C9="выход";$B9<"17:25") а в поле применяется к, пишем: =$A$9:$E$100 Результат
|
Последний раз редактировалось Tolea3, 20-12-2017 в 04:34. Отправлено: 04:29, 20-12-2017 | #7 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать чуствую завтра все начнут писать обяснителиные за красные полоски
|
Отправлено: 04:37, 20-12-2017 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Tolea3:
Тем не менее, в указанной формуле сравнивается не дата/время с дата/время, а строка со строкой. В данном случае, скорее всего, сие не будет являться необходимым условием, поскольку строки со временем у Вас все одинаковой длины, и час предшествует минутам, а те — секундам, но в ином случае моё замечание насчёт перевода строк в числа: Цитата Iska:
Цитата Tolea3:
P.S. Tolea3, переписать скрипт на использование формулы — дабы не вводить её в каждую новую Рабочую книгу «ручками»? |
|||
Последний раз редактировалось okshef, 23-12-2017 в 09:20. Отправлено: 05:05, 20-12-2017 | #9 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Iska, я рад что у меня нет красных полосок. я в отпуске
Iska, скриптик сделаете? |
Последний раз редактировалось okshef, 23-12-2017 в 09:21. Отправлено: 05:12, 20-12-2017 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
18.03.2016 IT'S MOBILE "DOS" TIME. 640KB of memory "ought to be enough for anybody." | mrcnn | Флейм | 0 | 18-03-2016 06:31 | |
[решено] При открытие "vk.com", "выкидывает" на страницу для "разморозки страницы" | sovenok | Лечение систем от вредоносных программ | 17 | 21-11-2013 04:09 | |
Создание "Прогресса" на время работы "InetGetSize" | sashadeg | AutoIt | 24 | 30-09-2009 15:26 | |
Обход "правил" в w2000 server | Domine | Защита компьютерных систем | 2 | 09-11-2003 00:59 |
|