Страницы: 1
RSS
Аналог Ctrl+A в VBA
 
Посмотрите, пожалуйста, приложенный файл, лист 1. Это шаблон, в который вставляются из другого документы данные. Проблема в следующем: с помощью макроса нужно выделить диапазон ячеек: столбцы с A по L, а строки с 11 по ту, в которой заканчиваются границы, в данном примере по 18 строку включительно. Т.е. "руками" это делается очень просто - встаем на ячейку А12 и жмем Ctrl+A. Выделяется то, что мне и нужно выделить! Но нужно сделать это макросом. А проблема в том, что в VBA я ноль и делаю макросы только через запись макросов. Так вот, если проделать все вышеописанное через эту запись, то получается следующая вещь  
Range("A11:L18").Select  
  Т.е. он выделяет именно эти фиксированные ячейки A11:L18, но этот диапазон может быть любым, например как на листах 2 и 3 (больше и меньше соответственно). Вот если в листах 2 и 3 встать в А12 и нажать Ctrl+A, то выделится именно то что нужно. В общем мне кажется что в VBA должна быть какая-нибудь вещь, чтобы выделить именно то что нужно (т.е. аналог Ctrl+A), подскажите, пожалуйста. Может быть даже есть функция (или что-то в этом духе) даже чтобы сэмулировать одновременное нажатие этих клавиш на клавиатуре. Т.е. простейшая штука:    
1. Встаем на ячейку А12  
2. запускаем аналог функции Ctrl+A  
PS критерием выделения являются именно границы, т.е. видимы они или нет. Еще раз повторю, что при Ctrl+A из А12 копируется именно то что нужно (выделено желтым)
 
Selection.CurrentRegion.Select
 
переделанный макрос  
ксти, через пункт меню "Макросы"-"Параметры" можно указать комбинацию клавиш для макроса. Конечно, Ctrl+A использовать не получиться, но Ctrl+Shift+A - вполне
Страницы: 1
Читают тему
Наверх