Добрый день! Помогите пожалуйта! Например по вертикали в каждой ячейке записаны фамилии пациентов, создано правило условного форматирования, что если например в ячейе J2 вписать слово "выписан", то фамилия зачеркивается и заливается определенным цветом. При ручной сортировке по цвету, зачеркнутая фамилия с заливкой перемещается либо вверх либо вниз, всё это понятно! Но как мне это все автоматизировать? то есть при каждом вводе слова "выписан", фамилия перемещается автоматически вверх или вниз? Шаблон прилагаю!
Добрый день! Помогите пожалуйта! Например по вертикали в каждой ячейке записаны фамилии пациентов, создано правило условного форматирования, что если например в ячейе J2 вписать слово "выписан", то фамилия зачеркивается и заливается определенным цветом. При ручной сортировке по цвету, зачеркнутая фамилия с заливкой перемещается либо вверх либо вниз, всё это понятно! Но как мне это все автоматизировать? то есть при каждом вводе слова "выписан", фамилия перемещается автоматически вверх или вниз? Шаблон прилагаю!giokara1
Макрорекодер и немного корректировки (код в модуле листа): [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Application.Intersect(Range("E:E"), Target) Is Nothing Then Application.EnableEvents = False
With Sort .SortFields.Add Key:=Range("E2:E" & UsedRange.Rows.Count), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A2:E" & UsedRange.Rows.Count) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
Application.EnableEvents = True End If End Sub
[/vba] Сортируем по значению столбца Е
Макрорекодер и немного корректировки (код в модуле листа): [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Application.Intersect(Range("E:E"), Target) Is Nothing Then Application.EnableEvents = False
With Sort .SortFields.Add Key:=Range("E2:E" & UsedRange.Rows.Count), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A2:E" & UsedRange.Rows.Count) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With