Как в эксель ограничить таблицу каким то пределом
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Трюк №8. Ограничение диапазона прокрутки листа Excel
Если вы постоянно перемещаетесь по своей электронной таблице или не хотите, чтобы читатели могли просматривать определенные данные, удобно ограничить видимую область электронной таблицы только необходимыми
данными.
Все листы Excel, созданные в Excel 97-2003, имеют 256 столбцов (от А до IV) и 65 536 строк. Чаще всего на листе используется лишь небольшая доля доступных ячеек. Немного усилий — и вы сможете ограничить область прокрутки листа только ячейками, содержащими нужные данные. Затем можно поместить данные, которые пользователь видеть не должен, в ячейки за пределами области прокрутки. Это также упростит переход по ячейкам на листе, так как часто возникает ситуация, когда пользователь неожиданно оказывается на 50 000 строке и начинает кричать, что на листе совершенно невозможно найти необходимые данные.
Самый простой способ установить границы — просто спрятать все неиспользуемые столбцы и строки. На своем листе найдите последнюю строку, содержащую данные, и целиком выделите строку под ней, щелкнув кнопку строки. Удерживайте клавиши Ctrl и Shift и нажимайте стрелку вниз, чтобы выделить все строки ниже. Чтобы спрятать их, выберите команду Формат → Строка → Скрыть (Format → Row → Hide). To же самое сделайте и с неиспользуемыми столбцами: найдите последний столбец с данными, полностью выделите столбец справа от него, удерживайте клавиши Ctrl и Shift, нажимая стрелку вправо, а затем выберите команду Формат → Столбец → Скрыть (Format → Column → Hide). Если все произошло как надо, используемые ячейки будут окружены серой областью, за пределы которой пе.рейти невозможно.
Второй способ определить границы — указать допустимый диапазон в окне Properties листа. Правой кнопкой мыши щелкните ярлычок листа в левом нижнем углу экрана и в контекстном меню выберите пункт View Code (Исходный текст). В Windows выберите команду View → Project Explorer (Ctrl+R), а в Mac OS X нажмите сочетание клавиш Apple+R, чтобы открыть окно Project Explorer. Если окно Properties не открыто, нажмите клавишу F4. Выберите нужный лист, и перейдите к свойству ScrollArea в окне Properties.
Теперь в Project Explorer выберите лист, область прокрутки которого хотите ограничить, а затем в окне Properties (рис. 1.12) перейдите к свойству ScrollArea. В соответствующем поле значений справа введите желаемые границы листа, например, $A$1:$G$50.

Рис. 1.12. Окно Properties в Project Explorer
Вы не сможете прокручивать лист за пределы указанной области. К сожалению, после закрытия Excel не сохранит этот параметр. Это означает, что для того, чтобы автоматически выбирать желаемый диапазон прокрутки, необходимо создать простой макрос, поместив немного кода в событие worksheet_Activate.
Правой кнопкой мыши щелкните ярлычок с именем того листа, где нужно ограничить диапазон прокрутки, и в контекстном меню выберите команду Исходный текст (View Code), затем введите код из листинга 1.13.
1 2 3 4
// Листинг 1.13 Private Sub Worksheet_Activate () Me. Scroll Area = "A1:G50" End Sub
// Листинг 1.13 Private Sub Worksheet_Activate () Me. Scroll Area = «A1:G50» End Sub
Как обычно, нажмите сочетание клавиш Alt/Apple+Q, чтобы вернуться в Excel и сохранить книгу. Хотя вы не сможете увидеть результат в виде серой области в первом способе, вы все же не сможете прокрутить лист или выбрать что-либо за пределами заданной области.
[stextbox макрос, выбирающий диапазон за пределами этой области прокрутки (включая выбор целых строк и столбцов), сделать это более не сможет. Это относится, в частности, к записанным макросам, так как в них зачастую применяется выделение.[/stextbox]
Если макрос использует диапазон за пределами области прокрутки, можно легко изменить его, чтобы он не был ограничен в своей работе каким-то диапазоном ячеек. Выберите команду Сервис → Макрос → Макросы (Tools → Macro → Macros) или сочетание клавиш Alt+F8, выберите имя макроса, выделите его и щелкните кнопку Изменить (Edit). Вставьте следующую строку перед первой строкой существующего кода:
ActiveSheet.Scroll Area = «»
На самую последнюю строку кода поместите следующее:
ActiveSheet.Scroll Area = «$A$1:$G$50»
Теперь код должен выглядеть приблизительно так, как показано в листинге 1.14.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// Листинг 1.14 Sub МуМасrо() ' ' 'макрос МуМасго 'макрос записан 19/9/2011 ву Excel2010.ru ' ' ActiveSheet.Scroll Area = "" Range("Z100").Select Selection.Font.Bold = True ActiveSheet.Scroll Area - "$A$1:$G$50" Sheets('Daily Budget").Select ActiveSheet.Scroll Area = "" Range ("T500").Select Selection.Font.Bold = False ActiveSheet.Scroll Area = "$A$1:$H$25" End Sub
// Листинг 1.14 Sub МуМасrо() ‘ ‘ ‘макрос МуМасго ‘макрос записан 19/9/2011 ву Excel2010.ru ‘ ‘ ActiveSheet.Scroll Area = «» Range(«Z100»).Select Selection.Font.Bold = True ActiveSheet.Scroll Area — «$A$1:$G$50″ Sheets(‘Daily Budget»).Select ActiveSheet.Scroll Area = «» Range («T500»).Select Selection.Font.Bold = False ActiveSheet.Scroll Area = «$A$1:$H$25» End Sub
Наш записанный макрос выбирает ячейку Z100 и форматирует ее, делая шрифт жирным. Затем он выбирает лист с именем Daily Budget, выбирает на нем ячейку Т500 и отменяет жирный шрифт. Мы добавили строку ActiveSheet.ScrollArea = «», поэтому на листе можно выбрать любую ячейку, а затем восстановить желаемый ограниченный диапазон прокрутки. Выбирая другой лист (Daily Budget), мы снова позволяем коду выбирать любую ячейку на этом листе, а затем восстанавливаем ограниченный диапазон.
Третий метод, наиболее гибкий, автоматически ограничивает область прокрутки используемым диапазоном ячеек на листе, для которого вы создаете следующий код. Чтобы применить этот способ, правой кнопкой мыши щелкните ярлычок с именем нужного листа, в контекстном меню выберите пункт Исходный текст (View Code) и введите код, приведенный в листинге 1.15.
1 2 3 4
// Листинг 1.15 Private Sub Worksheet_Activate() Me.ScrollArea = Range(Me.UsedRange, Me.UsedRange(2.2)).Address End Sub
// Листинг 1.15 Private Sub Worksheet_Activate() Me.ScrollArea = Range(Me.UsedRange, Me.UsedRange(2.2)).Address End Sub
Теперь нажмите сочетание клавиш Alt/Apple+Q или щелкните крестик в правом верхнем углу окна, чтобы вернуться в Excel и сохранить книгу.
Этот макрос будет выполняться автоматически каждый раз, когда вы будете активировать лист, где он хранится. Однако некоторые проблемы могут возникнуть, если понадобится ввести данные за пределами текущего используемого диапазона. Чтобы избежать этого, примените стандартный макрос, который восстановит область прокрутки, равную полному листу. Выберите команду Сервис → Макрос → Редактор Visual Basic (Tools → Macro → Visual Basic Editor), затем выберите команду Insert → Module и введите код из листинга 1.16.
1 2 3 4
// Листинг 1.16 Sub ResetScrollArea() ActiveSheet.ScrollArea = "" End Sub
// Листинг 1.16 Sub ResetScrollArea() ActiveSheet.ScrollArea = «» End Sub
Теперь нажмите сочетание клавиш Alt/Apple+Q или щелкните крестик в правом верхнем углу окна, чтобы вернуться в Excel и сохранить книгу. Если хотите, можно упростить способ выполнения макроса, назначив ему сочетание клавиш. Выберите команду Сервис → Макрос → Макросы (Tools → Macro > Macros) или нажмите сочетание клавиш (Alt/Option+F8). Выберите ResetScrollArea (это имя вашего макроса), щелкните кнопку Параметры (Options) и выберите сочетание клавиш.
Каждый раз, когда понадобится добавить данные за пределами установленных границ листа, выполняйте макрос ResetScrollArea для переопределения границ. После выполнения макроса внесите изменения, которые было невозможно сделать с ограниченным диапазоном прокрутки. Закончив, активируйте любой другой лист, а затем активируйте только что измененный лист. Это действие запустит код, ограничивающий диапазон прокрутки желаемой областью.
Как в эксель ограничить таблицу каким то пределом
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
покупка
Когда мы используем книгу, иногда мы хотим ограничить прокрутку рабочего листа. Это означает, что рабочий лист будет зафиксирован в диапазоне ячеек и не будет прокручиваться за пределы этого диапазона. Есть ли какие-нибудь уловки, позволяющие ограничить область прокрутки рабочего листа?
Ограничьте область прокрутки рабочего листа, введя адрес диапазона вручную
Вы можете ввести адрес ячейки вручную, чтобы отключить область прокрутки, выполните следующие действия:
1. Активируйте рабочий лист, на котором вы хотите ограничить область прокрутки.
2, Удерживать Alt + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений, А затем нажмите Вид > Окно свойств, см. снимок экрана:

3. И в Окно свойств список, введите адрес диапазона в Область прокрутки окно свойств, см. снимок экрана:

4. Затем закройте это окно, и вы будете ограничены перемещением или выбором ячеек за пределами указанного вами диапазона.
Ноты:
1. Введенный вами адрес ячейки должен быть непрерывным диапазоном.
2. Если вы хотите отменить ограничение области прокрутки, вам просто нужно удалить адрес диапазона из Область прокрутки поле свойств на шаге 3 выше.
Ограничить область прокрутки всех листов с помощью кода VBA
Иногда вам нужно установить предел области прокрутки для всех листов в книге используемого диапазона. В этом случае следующий код VBA может помочь вам одновременно ограничить всю область прокрутки рабочих листов.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.
Код VBA: ограничить область прокрутки всех листов
Sub SetAllScrollAreas() 'Update 20140326 Dim ws As Worksheet For Each ws In Application.ActiveWorkbook.Worksheets ws.ScrollArea = ws.UsedRange.Address Next End Sub
3, Затем нажмите F5 Чтобы запустить этот код, он установит область прокрутки для каждого рабочего листа в вашей текущей книге в зависимости от используемого диапазона.
Внимание: Если вы хотите удалить ограничение области прокрутки всех листов, вы можете применить ниже код VBA:
Код VBA: удалить ограничение области прокрутки всех листов
Sub SetAllScrollAreas() 'Update 20140326 Dim ws As Worksheet For Each ws In Application.ActiveWorkbook.Worksheets ws.ScrollArea = "" Next End Sub
Ограничьте область прокрутки рабочего листа с помощью Kutools for Excel
Если вы хотите более удобный способ решения этой задачи, вот удобный инструмент —Kutools for Excel, С его Установить область прокрутки функцию, вы можете ограничить указанный диапазон одним щелчком мыши.
Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Получить сейчас.
После установки Kutools for Excel, выполните следующие действия:
1. Выделите ячейки диапазона, область прокрутки которых вы хотите ограничить.
2. Нажмите Кутулс > Показать спрятать > Установить область прокрутки, см. снимок экрана:

И только выбранные вами ячейки видны, остальные скрыты и недоступны для просмотра или редактирования.

Примечание: Чтобы отменить ограничение области прокрутки, необходимо нажать Кутулс > Показать / Скрыть > Показать все диапазоны, см. снимок экрана:

Для получения более подробной информации о Установить область прокрутки, перейдите в Установить область прокрутки.