Координатное выделение в таблице
Допустим, у вас достаточно масштабный монитор. Но, увы, жизнь вносит свои коррективы, и таблицы, с которыми вы работаете, порой бывают еще больше. А если вам нужно вбить (вписать) данные ячейки, находящейся от координатного поля дальше далекого?
В данном случае всегда есть шанс, и шанс препротивный «соскользнуть» своим взглядом ниже или выше и выбрать не те данные. Поэтому координатное выделение – именно то, что вам нужно. Чем оно полезно? Текущий столбик и строчка начинают подсвечиваться, когда активная ячейка двигается.
Открываем таблицу, в которую вам требуется «вписать» координатное выделение, правой кнопкой кликаем по иконке листа, нам откроется контекстное меню. Там выбираем Исходный код, и вуаля, перед вами – окно Visual Basic. В него вставляем этот текст:
Dim Coord_Selection As Boolean
Sub Selection_On()
Coord_Selection = True
End Sub
Sub Selection_Off()
Coord_Selection = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WorkRange As Range
If Target.Cells.Count > 1 Then Exit Sub
If Coord_Selection = False Then Exit Sub
Application.ScreenUpdating = False
Set WorkRange = Range("A6:N300") 'адрес рабочего диапазона с таблицей
Intersect(WorkRange, Union(Target.EntireColumn, Target.EntireRow)).Select
Target.Activate
End Sub
Теперь потребуется изменить адрес данного рабочего диапазона на тот, который вам нужен. Имейте ввиду, координатное выделение будет работать только в пределах заданного диапазона. Ну все, это окно можно закрывать и возвращаться в таблицу. Здесь вам нужно нажать Альт и Ф8, так вы откроете окно всех имеющихся на данный момент макросов. В окне увидите Selection On и макрос Selection Off. Первый координатное выделение включает. Второй выключает. А если вы кликните по Параметрам, сможете назначить всем макросам удобное для вас сочетание горячих клавиш. Как видите, данный способ достаточно прост в реализации и, что самое приятное, это вполне себе безобидное действие, содержимое или его внешний вид (то есть, содержимое) никак не изменится. Но если есть у вас в диапазоне выделения объединенные ячейки, то макрос корректно работать не сможет: будут выделяться все объединения. А если нажать делит, конечно, случайно, то вы удалите данные из всех выделенных областей. В остальном же способ весьма хорош.
- 06/08/2011 19:33 - Как проводить защиту макросом
- 30/07/2011 18:27 - Делим один столбец на несколько – единым махом
- 13/12/2010 17:56 - VBA Excel