Добрый день, Есть макрос сортировки строк таблицы по цветам, можно ли сделать так. чтобы сортировка срабатывала для строк добавленных в таблицу текущей даты, то-есть "сегодня", при этом все предыдущие строки оставались неизменными. Подскажите пожалуйста [vba]
Добрый день, Есть макрос сортировки строк таблицы по цветам, можно ли сделать так. чтобы сортировка срабатывала для строк добавленных в таблицу текущей даты, то-есть "сегодня", при этом все предыдущие строки оставались неизменными. Подскажите пожалуйста [vba]
Я понимаю, что можно и даже догадываюсь что это делается, вероятно, с помощью Type:=xlTimePeriod, DateOperator:=xlToday, но я совсем недавно с макросами и потратил пол дня добавляя то так, то сяк и так и не пришел к нужному результату
Я понимаю, что можно и даже догадываюсь что это делается, вероятно, с помощью Type:=xlTimePeriod, DateOperator:=xlToday, но я совсем недавно с макросами и потратил пол дня добавляя то так, то сяк и так и не пришел к нужному результату Vetya
Vetya, прочитайте уже наконец Правила форума. Там все написано. И для Вашего случая тоже Второй архив пуст В первом файл на 2,7 мега.
Держите Ваш файл, почищенный до 35кб. Вставьте туда данные за сегодня так, как они будут там появляться до запуска макроса. А на новом листе вручную сделайте так, как нужно, чтобы было в итоге
Vetya, прочитайте уже наконец Правила форума. Там все написано. И для Вашего случая тоже Второй архив пуст В первом файл на 2,7 мега.
Держите Ваш файл, почищенный до 35кб. Вставьте туда данные за сегодня так, как они будут там появляться до запуска макроса. А на новом листе вручную сделайте так, как нужно, чтобы было в итоге_Boroda_
Во вложении файл,Лист2 (Итог) строка с дублями в первом столбце окрашиваются по цвету, пытался сделать так, чтобы "на сегодня" была автоматическая группировка (по времени) людей с одинаковыми ФИО\цветами. У меня получалось только так, что сортируется вся таблица целиком - а надо чтобы только "сегодня"
Во вложении файл,Лист2 (Итог) строка с дублями в первом столбце окрашиваются по цвету, пытался сделать так, чтобы "на сегодня" была автоматическая группировка (по времени) людей с одинаковыми ФИО\цветами. У меня получалось только так, что сортируется вся таблица целиком - а надо чтобы только "сегодня"Vetya
Sub Мяу() Dim r As Range Application.ScreenUpdating = False With ActiveSheet .AutoFilter.Range.AutoFilter Field:=3, Operator:= _ xlFilterValues, Criteria2:=Array(2, Format(Date, "m\/d\/yyyy")) '"5/7/2018") Set r = .AutoFilter.Range With .Sort .SortFields.Clear .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _ = RGB(197, 217, 241) .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _ = RGB(253, 233, 217) .SetRange r .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With .AutoFilter.Range.AutoFilter Field:=3 End With Application.ScreenUpdating = True End Sub
[/vba]
[vba]
Код
Sub Мяу() Dim r As Range Application.ScreenUpdating = False With ActiveSheet .AutoFilter.Range.AutoFilter Field:=3, Operator:= _ xlFilterValues, Criteria2:=Array(2, Format(Date, "m\/d\/yyyy")) '"5/7/2018") Set r = .AutoFilter.Range With .Sort .SortFields.Clear .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _ = RGB(197, 217, 241) .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _ = RGB(253, 233, 217) .SetRange r .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With .AutoFilter.Range.AutoFilter Field:=3 End With Application.ScreenUpdating = True End Sub
"Run-time error '91': Object variable or With block variable not set" пробовал вместо ActiveSheet - ActiveWorkbook.Worksheets("Итог") воткнуть - таже беда
"Run-time error '91': Object variable or With block variable not set" пробовал вместо ActiveSheet - ActiveWorkbook.Worksheets("Итог") воткнуть - таже бедаVetya
Sub Мяв() Dim r As Range, arColor, i&, x, Colors Colors = Array(12900829, 15849925, 14408946, 14610923, 15986394, 14281213, 14277081, _ 9944516, 14994616, 12040422, 12379352, 15921906, 14336204, 15261367, 14281213) Application.ScreenUpdating = False With ActiveSheet .AutoFilter.Range.AutoFilter Field:=3, Operator:= _ xlFilterValues, Criteria2:=Array(2, Format(Date, "m\/d\/yyyy")) Set r = .AutoFilter.Range With .Sort .SortFields.Clear For Each x In Colors .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = x Next .SetRange r .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With .AutoFilter.Range.AutoFilter Field:=3 End With Application.ScreenUpdating = True End Sub
[/vba]
Сань, там этих цветов... Квк на клумбе. [vba]
Код
Sub Мяв() Dim r As Range, arColor, i&, x, Colors Colors = Array(12900829, 15849925, 14408946, 14610923, 15986394, 14281213, 14277081, _ 9944516, 14994616, 12040422, 12379352, 15921906, 14336204, 15261367, 14281213) Application.ScreenUpdating = False With ActiveSheet .AutoFilter.Range.AutoFilter Field:=3, Operator:= _ xlFilterValues, Criteria2:=Array(2, Format(Date, "m\/d\/yyyy")) Set r = .AutoFilter.Range With .Sort .SortFields.Clear For Each x In Colors .SortFields.Add(r(1) _ , xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = x Next .SetRange r .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With .AutoFilter.Range.AutoFilter Field:=3 End With Application.ScreenUpdating = True End Sub