Excel как закрепить область программно

Содержание

  1. Excel как закрепить область программно
  2. Закрепление области в программе Microsoft Excel
  3. Закрепление области в Эксель
  4. Вариант 1: Область из строк
  5. Вариант 2: Область из столбцов
  6. Вариант 3: Область из строк и столбцов
  7. Вариант 4: Один столбец или одна строка
  8. Открепление закрепленной области
  9. Заключение
  10. Excel как закрепить область программно
  11. Как закрепить область в Excel 2007 или 2010
  12. Как закрепить область в Excel

Excel как закрепить область программно

Здравствуйте.
Для вывода данных в отчет использую Excel.
Необходимо закрепить верхнюю строку отчета, чтобы при прокрутке она оставалась на месте.
Делаю так:
var
m_XLApp, Sheet, Colum, Row, Selected:Variant;
begin
// создаём объект Excel
m_XLApp := CreateOleObject(«Excel.Application»);
m_XLApp.Visible := true;

m_XLApp.WorkBooks.Add(-4167);
m_XLApp.WorkBooks[1].WorkSheets[1].Name := «Список»;
Sheet:=m_XLApp.Workbooks[1].Worksheets[«Список»];
Sheet.PageSetup.Orientation:=xlLandscape;
// строки
Row:=m_XLApp.Workbooks[1].Worksheets[«Список»].Rows;
//выделяю вторую строку
Selected:=Row.Rows[2].Select;
// вот на этой строке получаю ошибку «Invalid variant operation»
Selected.ActiveWindow.FreezePanes:= True;
Подскажите, как правильно использовать свойство FreezePanes?
Спасибо


pavel_guzhanov © ( 2005-09-27 11:48 ) [1]

Разобрался.
Спасибо всем, кто хотел помочь..


YurikGL © ( 2005-09-27 20:39 ) [2]


> pavel_guzhanov © (27.09.05 11:48) [1]

А как разобрался?


pavel_guzhanov © ( 2005-09-28 08:02 ) [3]

Sheet.Activate;
Sheet.Range[«C2:C2»].Select;
m_XLApp.ActiveWindow.FreezePanes:= True;

Таким образом закрепил первую строку и два первых столбца

Источник

Закрепление области в программе Microsoft Excel

При работе со значительным числом данных на листе электронной таблицы приходится постоянно сверять некоторые параметры. Но если их много, и их область выходит за границы экрана, постоянно перемещать полосу прокрутки довольно неудобно. Разработчики Excel как раз позаботились об удобстве пользователей, внедрив в данную программу возможность закрепления областей. Давайте выясним, как эта функция реализована и как ею воспользоваться в программе Microsoft Excel.

Закрепление области в Эксель

Решение нашей сегодняшней задачи будет показано на примере программы Excel, входящей в состав пакета Microsoft Office 365, но в предшествующих ей версиях или более новой (2019) необходимые для закрепления области действия выполняются точно так же.

Вариант 1: Область из строк

Довольно часто в электронной таблице Эксель требуется закрепить область из нескольких верхних строк, которые представляют собой так называемую шапку. Делается это следующим образом:

    Ориентируясь на номера строк на боковой (левой) панели программы, выделите нажатием левой кнопки мышки (ЛКМ) по цифре строку, которая будет следующей за закрепляемым диапазоном. В нашем примере будем закреплять первые три строчки, то есть выделять в данном случае нужно четвертую.

Вариант 2: Область из столбцов

Бывает и так, что требуется закрепить не верхнюю часть таблицы, а боковую, то есть расположенные слева столбцы. Алгоритм действий в данном случае тот же, но с небольшой поправкой.

  1. Выделите столбец, следующий за диапазоном тех, которые планируете закрепить. В нашем примере таковым является столбец C, то есть закреплять будем диапазон A-B.
  2. Откройте вкладку «Вид» и воспользуйтесь пунктом «Закрепить области».
  3. Выберите первый вариант из списка, дублирующий название основного пункта и уже упомянутый нами в предыдущей части.
    С этого момент обозначенная вами боковая (левая) область будет закреплена, и при прокрутке таблицы в горизонтальном направлении она всегда будет оставаться на своем месте.

Вариант 3: Область из строк и столбцов

Исходя из того, что содержащаяся в ячейках таблицы информация, которую чаще всего требуется держать перед глазами, может находиться как в ее верхних строках, так и боковых столбцах, неудивительно, что инструментарий Эксель позволяет закрепить одновременно и первые, и вторые. Для этого:

  1. Выделите нажатием ЛКМ ту ячейку, которая располагается ниже строк и правее столбцов, которые требуется закрепить, после чего перейдите во вкладку «Вид».

Пример: Для того чтобы закрепить по две первых строки (1, 2) и столбца (A, B), выделять необходимо ячейку с адресом C3

.

  • В области инструментов «Окно» вкладки «Вид» воспользуйтесь пунктом «Закрепить области»

    и в открывшемся списке выберите одноименный вариант.
  • Теперь при вертикальной прокрутке таблицы закрепленные строки будут оставаться на своем месте,

    а при горизонтальной зафиксированными останутся столбцы.
    Именно рассмотренный в данной части вариант действия является наиболее дословным трактованием фразы «Закрепить область». Сделать статичным диапазон из строк и столбцов может потребоваться в том случае, когда верхняя часть электронной таблицы Excel является шапкой, а боковая содержит, например, порядковые номера и ФИО сотрудников.
  • Вариант 4: Один столбец или одна строка

    Если же под закреплением области вы подразумеваете фиксацию всего одного элемента таблицы, то есть одной ее строки или одного столбца, все делается еще проще. Вы просто выделяете нужную часть, а затем выбираете соответствующий вашей задаче пункт в меню кнопки «Закрепить области». Как вариант, можно вообще ничего не выделять, а просто сразу выбрать один из подходящих вариантов — «Закрепить верхнюю строку» или «Закрепить первый столбец», исходя из того, какая задача перед вами стоит. Более подробно эта процедура, а также нюансы, которые может подразумевать ее выполнение, была рассмотрена нами в отдельных статьях, с ними и рекомендуем ознакомиться.

    Подробнее: Как в Эксель закрепить одну строку или один столбец

    Открепление закрепленной области

    В том случае, если необходимость в закреплении области (строк, столбцов или смешанного диапазона – не важно) отпала, потребуется сделать по сути то же, что и в рассмотренных выше случаях. Разница лишь в том, что в меню кнопки «Закрепить области» следует выбирать первый и наиболее очевидный в данном контексте пункт – «Снять закрепление областей».

    Заключение

    Закрепить строки, столбцы или включающий их диапазон в электронной таблице Microsoft Excel несложно. Главное в данном случае правильно понять то, какой элемент таблицы необходимо выделить, и об этом мы подробно рассказали в сегодняшней статье.

    Источник

    Excel как закрепить область программно

    Здравствуйте.
    Для вывода данных в отчет использую Excel.
    Необходимо закрепить верхнюю строку отчета, чтобы при прокрутке она оставалась на месте.
    Делаю так:
    var
    m_XLApp, Sheet, Colum, Row, Selected:Variant;
    begin
    // создаём объект Excel
    m_XLApp := CreateOleObject(«Excel.Application»);
    m_XLApp.Visible := true;

    m_XLApp.WorkBooks.Add(-4167);
    m_XLApp.WorkBooks[1].WorkSheets[1].Name := «Список»;
    Sheet:=m_XLApp.Workbooks[1].Worksheets[«Список»];
    Sheet.PageSetup.Orientation:=xlLandscape;
    // строки
    Row:=m_XLApp.Workbooks[1].Worksheets[«Список»].Rows;
    //выделяю вторую строку
    Selected:=Row.Rows[2].Select;
    // вот на этой строке получаю ошибку «Invalid variant operation»
    Selected.ActiveWindow.FreezePanes:= True;
    Подскажите, как правильно использовать свойство FreezePanes?
    Спасибо


    pavel_guzhanov © ( 2005-09-27 11:48 ) [1]

    Разобрался.
    Спасибо всем, кто хотел помочь..


    YurikGL © ( 2005-09-27 20:39 ) [2]


    > pavel_guzhanov © (27.09.05 11:48) [1]

    А как разобрался?


    pavel_guzhanov © ( 2005-09-28 08:02 ) [3]

    Sheet.Activate;
    Sheet.Range[«C2:C2»].Select;
    m_XLApp.ActiveWindow.FreezePanes:= True;

    Таким образом закрепил первую строку и два первых столбца

    Источник

    Как закрепить область в Excel 2007 или 2010

    Если в файле Excel у вас много данных как в длину так и в ширину, например у вас есть таблица с большим списком наименований, то очень удобно закрепить область в Excel, чтобы шапка таблицы была неподвижной и можно было был при прокрутке всегда видеть закрепленную шапку таблицы.

    Чтобы закрепить область в Excel 2007 или 2010 необходимо перейти в раздел «Вид» (смотрите пункт 1 на рисунке ниже), далее необходимо нажать «Закрепить область» (пункт 2 на рисунке) и выбрать подходящий пункт.

    Если вам необходимо закрепить область в Excel которая является 1-й строчной, то смело выбирайте пункт «Закрепить верхнюю строчку«, если необходимо закрепить первый левый столбец, то выбирайте «Закрепить первый столбец«.

    В нашем случае для закрепления необходимых для нас областей эти пункты не подходят, так как шапка таблицы, которую нам необходимо закрепить является не первой а второй строчкой.

    Чтобы закрепить необходимую область в Excel 2007 или 2010 необходимо сначала обозначить эту область. В нашем случае нам необходимо закрепить шапку таблицы, поэтому прежде чем нажать на кнопку «Закрепить области» нам нужно выделить 3-ую строку (смотрите рисунок пункт 3), это означает, то что выше третьей строки должно быть закреплено.

    Если необходимо закрепить одновременно и вертикальную и горизонтальную область в MS Excel, то необходимо сначала выделить ячейку, которая будет пересечением горизонтальной и вертикальной области закрепления. В нашем примере это ячейка «С3» (пункт 4 рисунка).

    Как видите закрепить области в Excel очень просто. Данная инструкция подходит как для Excel 2007 так и для Excel 2010.

    В случае необходимости снять закрепление областей, необходимо просто выбрать пункт «Вид», «Закрепление областей», «Снять закрепление» (этот пункт появится автоматически если на текущем листе у вас уже есть закрепленные области)

    Если статья была вам полезна, то буду благодарен, если вы поделитесь ей со своими друзьями с помощью кнопок расположенных ниже.

    Источник

    Как закрепить область в Excel

    Excel хорошая офисная программа для работы с цифрами, графика, формулами и расчетами. Иногда для удобства в работе с Excel, особенно когда работаешь с большим количеством ячеек нужно закрепить определенную область, как это сделать мы расскажем дальше.

    Как закрепить область в Excel 2003
    Здесь все очень просто нужно выбрать ячейку, которая граничит с той, которую нужно закрепить (снизу под строкой, сбоку от колонки или на перекрестке строк и столбцов), перейти в пункт меню «Окно», в нем выбрать подпункт «Закрепить область». Чтобы снять закрепленную область процедуру нужно сделать в том же порядке только в меню «Окно» выбрать «Снять закрепленную область»

    Как закрепить область в Excel 2007
    После изменения интерфейса способ закрепления области чуть изменился теперь это можно сделать так. Способ выбора зоны ячеек для закрепления остался такой же, как и в Excel 2003 все, что изменилось это работа в меню. Нужно перейти в пункт меню «Вид», в нем в группе «Окна» выбрать возможности выпадающего списка «Закрепить области», а уже в нем на выбор одно из трех. «Первое закрепить области» — где можно закрепить строки и столбцы, «Закрепить верхнюю строку» — не будет прокручиваться только строка и «Закрепить первый столбец» — не будет прокручиваться только он.

    Как закрепить область в Excel 2010
    Что касается варианта закрепления областей в Excel 2010 то процедура осталась та же, что и в Excel 2007, здесь все без изменений.

    Как закрепить область в Excel 2013
    Здесь процедура также осталась прежней. Становимся рядом со строкой, столбцом или областью и выполняет «Вид» — «Закрепить области» — выбираем нужный вариант.

    Если нужно закрепить определенные сроки и столбцы при печати (печатать заголовки на каждой странице) следует сделать следующие операции. Выбрать вкладку «Разметка страницы» и нажать «Печать заголовков». В окне которое появится для срок нужно указать параметры «Сквозные строки», для столбцов параметры «Сквозные столбцы» или два параметра в месте для печати нужной области.

    Источник

     
    pavel_guzhanov ©
     
    (2005-09-27 10:52)
    [0]

    Здравствуйте.
    Для вывода данных в отчет использую Excel.
    Необходимо закрепить верхнюю строку отчета, чтобы при прокрутке она оставалась на месте.
    Делаю так:
    var
    m_XLApp, Sheet, Colum, Row, Selected:Variant;
    begin
     // создаём объект Excel
     m_XLApp := CreateOleObject("Excel.Application");
     m_XLApp.Visible := true;

     m_XLApp.WorkBooks.Add(-4167);
     m_XLApp.WorkBooks[1].WorkSheets[1].Name := "Список";
     Sheet:=m_XLApp.Workbooks[1].Worksheets["Список"];
     Sheet.PageSetup.Orientation:=xlLandscape;
    // строки
     Row:=m_XLApp.Workbooks[1].Worksheets["Список"].Rows;
    //выделяю вторую строку
     Selected:=Row.Rows[2].Select;
    // вот на этой строке получаю ошибку "Invalid variant operation"
     Selected.ActiveWindow.FreezePanes:= True;


    Подскажите, как правильно использовать свойство FreezePanes?
    Спасибо


     
    pavel_guzhanov ©
     
    (2005-09-27 11:48)
    [1]

    Разобрался.
    Спасибо всем, кто хотел помочь..


     
    YurikGL ©
     
    (2005-09-27 20:39)
    [2]


    > pavel_guzhanov ©   (27.09.05 11:48) [1]

    А как разобрался?


     
    pavel_guzhanov ©
     
    (2005-09-28 08:02)
    [3]

    Sheet.Activate;
     Sheet.Range["C2:C2"].Select;
     m_XLApp.ActiveWindow.FreezePanes:= True;

    Таким образом закрепил первую строку и два первых столбца


    0 / 0 / 0

    Регистрация: 17.10.2011

    Сообщений: 3

    1

    17.10.2011, 17:48. Показов 24461. Ответов 8


    Студворк — интернет-сервис помощи студентам

    Подскажите, как с помощью VB установить закрепление областей в Excel.



    0



    Programming

    Эксперт

    94731 / 64177 / 26122

    Регистрация: 12.04.2006

    Сообщений: 116,782

    17.10.2011, 17:48

    8

    Tsvet

    3 / 3 / 0

    Регистрация: 08.09.2011

    Сообщений: 111

    17.10.2011, 18:14

    2

    В принципе и макрорекодер может помочь справиться с этой задачей, типа вот так:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    
    With ActiveWindow
            .SplitColumn = 5
            .SplitRow = 6
        End With
        ActiveWindow.SplitRow = 14 ' нужное значение
        ActiveWindow.SplitColumn = 3' нужное значение
        ActiveWindow.FreezePanes = True
    End Sub

    Чтобы снять закрепление — ActiveWindow.FreezePanes = False



    0



    Tsvet

    3 / 3 / 0

    Регистрация: 08.09.2011

    Сообщений: 111

    17.10.2011, 18:33

    3

    Сорри, не дописал

    Visual Basic
    1
    2
    3
    4
    5
    6
    
    Sub снять_закрепление()
    With ActiveWindow
            .SplitColumn = 0
            .SplitRow = 0
    End With
    End Sub



    0



    0 / 0 / 0

    Регистрация: 17.10.2011

    Сообщений: 3

    17.10.2011, 18:43

     [ТС]

    4

    спасибо. попробую.



    0



    Сумрак

    17.10.2011, 18:52

    5

    хех.. нужно явно указывать сколько строк или столбцов.А то она на 4 части экран поделит.

    viper-x

    65 / 22 / 7

    Регистрация: 28.02.2018

    Сообщений: 211

    21.02.2022, 16:25

    6

    Сумрак, а как это сделать?
    ———————————————
    Кроме того, мне всегда казалось, что код

    Visual Basic
    1
    2
    3
    
    With ActiveWindow
            .SplitColumn = 4
    End With

    и

    Visual Basic
    1
    
    ActiveWindow.SplitColumn = 4

    делает вроде как одно и то же …или нет?



    0



    810 / 465 / 180

    Регистрация: 09.03.2009

    Сообщений: 1,577

    21.02.2022, 16:43

    7

    Код делает одно и то же. With пишется, когда с одним объектом много действий. Меньше писать и выше скорость, потому что эксель уже знает, кого «дергать».



    0



    viper-x

    65 / 22 / 7

    Регистрация: 28.02.2018

    Сообщений: 211

    22.02.2022, 08:46

    8

    Я пытаюсь закрепить области выше и левее ячейки B2
    Код

    Visual Basic
    1
    2
    3
    4
    
    With ActiveWindow
            .SplitColumn = 1
            .SplitRow = 1
    End With

    производит разделение экрана в этом месте,
    а следующий код убирает его:

    Visual Basic
    1
    2
    3
    4
    
    With ActiveWindow
            .SplitColumn = 0
            .SplitRow = 0
    End With

    Код же

    Visual Basic
    1
    2
    3
    4
    
    [b2].Select
    ActiveWindow.FreezePanes = True
    '...........
    ActiveWindow.FreezePanes = False

    закрепляет и снимает закрепление экрана,
    но только выше и левее активной ячейки,
    которую приходится выделять.
    Можно ли обойтись без лишнего Select?



    0



    Punkt5

    малоболт

    1143 / 442 / 193

    Регистрация: 30.01.2020

    Сообщений: 1,095

    22.02.2022, 10:13

    9

    Цитата
    Сообщение от viper-x
    Посмотреть сообщение

    Можно ли обойтись без лишнего Select?

    Можно. Достаточно объединить оба ваших куска кода:

    Visual Basic
    1
    2
    3
    4
    5
    6
    
    Sheets(1).Activate 'делаем активным тот лист, который будем разделять
    With ActiveWindow
      .SplitColumn = 4
      .SplitRow = 2
      .FreezePanes = True
    End With



    0



     

    Мартын

    Пользователь

    Сообщений: 282
    Регистрация: 22.12.2016

    Доброе время всем!
    Вопрос простой как три копейки, но ответа пока не нашёл.
    Надо закрепить определённую строку (чтобы не прокручивалось всё, что выше её) на НЕактивном листе.
    У меня через VBA выводятся таблички на несколько различных листов. У каждой таблички есть «шапка» с автофильтром. Так вот хотелось бы закрепить эти шапки от прокрутки.
    Из всего, что нарыл в тырнете, есть только ActiveWindow.FreezePanes=True , но это только для активного окна! А мне кажется очень некрасивым способ мелькать окнами перед носом юзера, переключаясь между листами и фиксируя строки.
    Нет ли способа сделать это, не активируя каждый лист?

     

    Ivan.kh

    Пользователь

    Сообщений: 2024
    Регистрация: 04.03.2013

    Отключите обновление экрана, и ничего мелькать не будет, а в конце вкл. его

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    Вместо ActiveWindow ничего писать не пробовали?

    FreezePanes работает только с активным листом…

     

    Мартын

    Пользователь

    Сообщений: 282
    Регистрация: 22.12.2016

    #4

    27.09.2017 15:10:11

    Цитата
    Ivan.kh написал:
    Отключите обновление экрана

    Была такая мысль, но это-же кривые костыли. Должен быть прямой путь, не могли-же мелкомягкие так «тормознуть».
    Ведь как-то где-то же программа запоминает, что на листе1 закрепление есть, а на листе2 его нет. Значит в каком-то месте информация о том, что на листе1 закреплена пятая строка, а на листе2 закреплён шестой столбец хранится! И эта инфа явно привязана к листам. Так неужели не предусмотрен способ эту информацию изменять программно?!?! Как-то это, ИМХО, странно и даже глупо.

    Цитата
    vikttur написал:
    FreezePanes работает только с активным листом

    Вот так и умирают мечты….

     

    Ivan.kh

    Пользователь

    Сообщений: 2024
    Регистрация: 04.03.2013

    #5

    27.09.2017 15:15:13

    Цитата
    Мартын написал:
    Была такая мысль, но это-же кривые костыли.

    с чего это вдруг.
    С такой логикой всякие поделки на VBA- это кривой костыль.

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    #6

    27.09.2017 15:17:47

    Цитата
    FreezePanes работает только с активным листом

    Это только предположение, дополнение к зачеркнутому. Не проверял досконально. Может, и есть решение без активации листа…

    Цитата
    …где-то же программа запоминает,… неужели не предусмотрен способ эту информацию изменять программно?!?! Как-то это, ИМХО, странно и даже глупо.

    Не нужно глупостью называть то, чего не знаете… Возможно, для этого есть свои причины. Ведь не только этот параметр, но и другие нельзя менять без активации листа. И то, что нельзя сделать так, как нужно именно Вам — не глупость.

     

    Hugo

    Пользователь

    Сообщений: 23249
    Регистрация: 22.12.2012

    #7

    27.09.2017 15:18:36

    Цитата
    Мартын написал:
    не могли-же мелкомягкие так «тормознуть».

    — почему? Недооцениваете :)

     

    The_Prist

    Пользователь

    Сообщений: 14181
    Регистрация: 15.09.2012

    Профессиональная разработка приложений для MS Office

    #8

    27.09.2017 17:32:36

    Цитата
    Мартын написал:
    Ведь как-то где-то же программа запоминает, что на листе1 закрепление есть, а на листе2 его нет. Значит в каком-то месте информация о том, что на листе1 закреплена пятая строка, а на листе2 закреплён шестой столбец хранится!

    Да, в XML-схеме файла. Но достучаться до неё при открытом файле невозможно, да и в закрытом я бы не стал туда лезть только для того, чтобы закрепить область.
    Но и здесь все не так просто. Перед установкой закрепления необходимо выделить ячейку и сместить лист так, чтобы закрепление было в видимой области. Иначе можно словить такую штуку, как закрепление где-то внизу или вверху, что может привести к невозможности просмотреть нужные данные.
    Собственно все эти нюансы и мешают назначить закрепление на неактивном листе — ввиду особенностей объектной модели.

    Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

     

    z-f-s

    Пользователь

    Сообщений: 20
    Регистрация: 03.04.2018

    #9

    09.04.2020 18:46:01

    Да, с закреплением в Excel чудеса! Удалось заставить работать закрепление таким вот странным кодом:

    Код
    Sub Крепёжжжж()
    
    Application.ScreenUpdating = 0
    
    AC = ActiveCell.Address
    
      If ActiveWindow.FreezePanes = True Then
         ActiveWindow.FreezePanes = True
         ActiveWindow.FreezePanes = False
      Else
         [CW50].Select
         ActiveWindow.FreezePanes = False
         ActiveWindow.FreezePanes = True
      End If
    
    Range(AC).Select
    
    End Sub
    

    Изменено: z-f-s09.04.2020 18:47:14

     

    DAG

    Пользователь

    Сообщений: 2
    Регистрация: 06.06.2018

    #10

    06.11.2020 22:32:48

    Цитата
    The_Prist написал:
    Собственно все эти нюансы и мешают назначить закрепление на неактивном листе — ввиду особенностей объектной модели.

    Добрый день! Весьма вероятно что это так.
    Однако остается вопрос — а почему нельзя снять разделение областей на неактивных листах? В этом случае вроде бы не возникает проблема отображаемой ячейки  — нужно просто сделать .FreezePanes = False. У меня изредка возникает задача пробежаться по всем или избранным рабочим листам и, упрощенно выражаясь, сбросить все структурные и оформительские настройки — обесцветить ярлычок, отобразить все данные (или скрыть ярлыки автофильтра), удалить сценарии, ….. и многое другое…. Практически все делается методами объекта Worksheet или присвоением нужных значений его свойствам или свойствам внутренних объектов, а вот для снятия разделения окна почему-то приходится с отключенным обновлением экрана активировать этот рабочий лист и делать через ActiveWindow. Может есть способ обойтись без активации окна?

     

    все эти вопросы решаются эмпирическим путем
    пробуете метод, который кажется логичным и в соответствии с вашими знаниями об Excel должен бы сработать
    если оказалось что ваша логика не совпала с возможности обьектной модели Excel
    возвращаетесь к изучению возможностей последней и пользуетесь доступными для разработчика методами

    или еще метод:
    ничего не ищете, ничего не пробуете, а пишете сюда свой вопрос, возможно кто-то уже это пробовал и может поделиться своим опытом, возможно кому-то задача покажется интересной и он не имею четкого представления как это сделать разберется и напишет как сделал

    Изменено: Ігор Гончаренко06.11.2020 23:34:54

    Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

     

    Hugo

    Пользователь

    Сообщений: 23249
    Регистрация: 22.12.2012

    #12

    07.11.2020 10:44:23

    Кстати вот тоже вспомнил, что работает только через ActiveWindow:
    чтобы изменять положение разрывов печати нужно перейти в страничный режим путем

    Код
    ActiveWindow.View = xlPageBreakPreview
     

    sokol92

    Пользователь

    Сообщений: 4445
    Регистрация: 10.09.2017

    #13

    07.11.2020 13:00:55

    Цитата
    DAG написал:
    пробежаться по всем или избранным рабочим листам

    Свойство FreezePanes относится к окну, а не к рабочему листу. Если Вы откроете книгу, состоящую из двух (видимых) листов, то книга будет иметь одно окно:

    Код
     Debug.Print ActiveWorkbook.Windows.Count

    Если через Меню/Вид/Новое окно добавить второе окно и отображать в окнах разные листы, то тогда можно управлять свойствами  FreezePanes этих окон без предварительного активирования.

    Изменено: sokol9207.11.2020 13:04:47

    Владимир

    Я хочу программно заморозить верхнюю строку листа Excel из VBA. Конечная цель — добиться того же эффекта, что и команда View > Freeze Panes > Freeze Top Row в Excel 2007, чтобы верхняя строка рабочего листа была заморожена, и пользователи могли видеть верхнюю строку рабочего листа даже при прокрутке данных.

    6 ответов

    Лучший ответ

    Rows("2:2").Select
    ActiveWindow.FreezePanes = True
    

    Выберите другой диапазон для другого эффекта, почти так же, как вы делаете это вручную. «Закрепить верхнюю строку» — это новый ярлык, появившийся в Excel 2007 (и выше), он не содержит дополнительных функций по сравнению с более ранними версиями Excel.


    45

    Tomalak
    29 Июл 2015 в 18:11

    Проблема с записанным макросом такая же, как и со встроенным действием: Excel выбирает закрепить верхнюю видимую строку, а не фактическую верхнюю строку, в которой можно найти информацию заголовка.

    Цель макроса в этом случае — заморозить фактическую верхнюю строку. Когда я просматриваю строку №405592 и мне нужно проверить заголовок столбца (потому что я забыл заморозить строки при открытии файла), мне нужно прокрутить вверх, заморозить верхнюю строку, а затем вернуться к строка # 405592 снова. Поскольку я считаю это глупым поведением, я хочу, чтобы макрос исправил его, но, как я уже сказал, записанный макрос просто имитирует такое же глупое поведение.

    Я использую Office 2011 для Mac OS X Lion

    Обновление (через 2 минуты):

    Я нашел решение здесь: http://www.ozgrid.com/forum/showthread.php?t= 19692

    Dim r As Range 
    Set r = ActiveCell 
    Range("A2").Select 
    With ActiveWindow 
        .FreezePanes = False 
        .ScrollRow = 1 
        .ScrollColumn = 1 
        .FreezePanes = True 
        .ScrollRow = r.Row 
    End With 
    r.Select 
    


    14

    Dannid
    13 Июл 2012 в 02:05

    Просто нажмите на ту же проблему … По какой-то причине команда freezepanes просто вызвала появление перекрестия в центре экрана. Оказывается, я отключил ScreenUpdating! Решено с помощью следующего кода:

    Application.ScreenUpdating = True
    Cells(2, 1).Select
    ActiveWindow.FreezePanes = True
    

    Теперь работает нормально.


    9

    Tom M
    14 Окт 2013 в 18:48

    Чтобы расширить этот вопрос до области использования за пределами Excel собственного VBA, свойство ActiveWindow должно обращаться как дочерний по отношению к объекту Excel.Application.

    Пример создания книги Excel из Access:

    Использование объекта Excel.Application в проекте VBA другого приложения Office приведет к требуется добавить библиотеку объектов Microsoft Excel 15.0 (или эквивалентную для вашей собственной версии).

    Option Explicit
    
    Sub xls_Build__Report()
        Dim xlApp As Excel.Application, ws As Worksheet, wb As Workbook
        Dim fn As String
    
        Set xlApp = CreateObject("Excel.Application")
        xlApp.DisplayAlerts = False
        xlApp.Visible = True
    
        Set wb = xlApp.Workbooks.Add
        With wb
            .Sheets(1).Name = "Report"
            With .Sheets("Report")
    
                'report generation here
    
            End With
    
            'This is where the Freeze Pane is dealt with
            'Freezes top row
            With xlApp.ActiveWindow
                .SplitColumn = 0
                .SplitRow = 1
                .FreezePanes = True
            End With
    
            fn = CurrentProject.Path & "ReportsReport_" & Format(Date, "yyyymmdd") & ".xlsx"
            If CBool(Len(Dir(fn, vbNormal))) Then Kill fn
            .SaveAs FileName:=fn, FileFormat:=xlOpenXMLWorkbook
        End With
    
    Close_and_Quit:
        wb.Close False
        xlApp.Quit
    End Sub
    

    Основной процесс — это просто повторение ранее представленных ответов, но я подумал, что важно продемонстрировать, как работать с ActiveWindow, когда вы не находитесь в собственном VBA Excel. Хотя здесь используется код VBA, его следует напрямую транслировать на другие языки и платформы.

    Rows("2:2").Select
    ActiveWindow.FreezePanes = True
    

    Это самый простой способ заморозить верхний ряд. Правило для FreezePanes — заморозить верхний левый угол выбранной вами ячейки. Например, если вы выделите C10, он остановится между столбцами B и C, строками 9 и 10. Поэтому, когда вы выделите строку 2, он фактически остановится между строками 1 и 2, которые являются верхней строкой.

    Кроме того, .SplitColumn или .SplitRow разделят ваше окно, как только вы его разморозите, что мне не нравится.


    3

    ian0411
    23 Авг 2017 в 20:40

    Томалак уже дал вам правильный ответ, но я хотел бы добавить, что в большинстве случаев, когда вы хотите узнать код VBA, необходимый для выполнения определенного действия в пользовательском интерфейсе, рекомендуется записать макрос.

    В этом случае нажмите Запись макроса на вкладке разработчика на ленте, зафиксируйте верхнюю строку и остановите запись. В Excel будет записан следующий макрос, который также выполняет эту работу:

    With ActiveWindow
        .SplitColumn = 0
        .SplitRow = 1
    End With
    ActiveWindow.FreezePanes = True
    


    22

    Dirk Vollmar
    13 Июл 2010 в 03:09

    Закрепление областей на всех листах

    Мурад

    Дата: Понедельник, 25.05.2015, 11:19 |
    Сообщение № 1

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    Добрый день! Подскажите, пожалуйста, как можно быстро закрепить области на всех листах? Если сгруппировать листы и закрепить область на одном листе, то это закрепление на другие листы не распространяется.

    К сообщению приложен файл:

    8663169.xlsx
    (64.7 Kb)

     

    Ответить

    AndreTM

    Дата: Понедельник, 25.05.2015, 11:47 |
    Сообщение № 2

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1762


    Репутация:

    498

    ±

    Замечаний:
    0% ±


    2003 & 2010

    Попробуйте, например, такой процедурой (вставить в общий модуль):
    [vba]

    Код

    Sub freezeAll()
         Dim sh0 As Worksheet, c0 As Range
         Application.ScreenUpdating = False
         Set sh0 = ActiveSheet
         For Each sh In ThisWorkbook.Sheets
             If Val(sh.Name) > 0 Then
                 sh.Activate
                 Set c0 = ActiveCell
                 Rows(«2:2»).Select
                 ActiveWindow.FreezePanes = True
                 c0.Select
             End If
         Next
         sh0.Activate
         Application.ScreenUpdating = True
    End Sub

    [/vba]


    Skype: andre.tm.007
    Donate: Qiwi: 9517375010

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 11:53 |
    Сообщение № 3

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    AndreTM, вставил, запустил. Ошибок не возникает, но закрепления ни на одном листе не происходит почему-то :(

     

    Ответить

    AndreTM

    Дата: Понедельник, 25.05.2015, 11:58 |
    Сообщение № 4

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1762


    Репутация:

    498

    ±

    Замечаний:
    0% ±


    2003 & 2010

    А имена листов у вас точно как в примере — только «числовые»?
    Иначе вам надо убрать строчки if и end if, чтобы проверка не выполнялась (или прописать в условие собственную проверку имен листов).
    Тут ведь как — я предположил, что у вас, кроме этих листов, в книге и другие листы могут быть, которые закреплять не надо.

    Ну и да — если у вас 2007/2010, то сохраните файл как файл с макросами (*.xlsm) и разрешите их исполнение…


    Skype: andre.tm.007
    Donate: Qiwi: 9517375010

    Сообщение отредактировал AndreTMПонедельник, 25.05.2015, 12:09

     

    Ответить

    Manyasha

    Дата: Понедельник, 25.05.2015, 12:01 |
    Сообщение № 5

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    Вот еще пример:[vba]

    Код

    Sub primer()
          Application.ScreenUpdating = False
          For Each sh In ThisWorkbook.Sheets
              sh.Activate
              With ActiveWindow
                  .SplitColumn = 0’номер закрепленного столбца
                  .SplitRow = 1’номер закрепленной строки
              End With
                  ActiveWindow.FreezePanes = True
          Next sh
          Application.ScreenUpdating = True
    End Sub

    [/vba]
    [p.s.]Количество листов сократила, а то файл по размеру не проходит. [/p.s.]


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 12:04 |
    Сообщение № 6

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    В моей рабочей книге имена листов пронумерованы от 0 до 132. Не думал, что это влияет на работу макроса.

     

    Ответить

    AndreTM

    Дата: Понедельник, 25.05.2015, 12:06 |
    Сообщение № 7

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1762


    Репутация:

    498

    ±

    Замечаний:
    0% ±


    2003 & 2010

    Manyasha, ActiveWindow.Split* поделит само окно на части, а не закрепит области…


    Skype: andre.tm.007
    Donate: Qiwi: 9517375010

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 12:25 |
    Сообщение № 8

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    AndreTM, ваш второй вариант у меня также не срабатывает. Никаких изменений на листах

     

    Ответить

    Alex_ST

    Дата: Понедельник, 25.05.2015, 12:37 |
    Сообщение № 9

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3176


    Репутация:

    604

    ±

    Замечаний:
    0% ±


    2003

    Всё работает.
    Только надо Option Explicit использовать и все переменные «обзывать»



    С уважением,
    Алексей
    MS Excel 2003 — the best!!!

    Сообщение отредактировал Alex_STПонедельник, 25.05.2015, 16:52

     

    Ответить

    Manyasha

    Дата: Понедельник, 25.05.2015, 12:41 |
    Сообщение № 10

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    AndreTM, Вы правы, только что проверила. Закрепление происходит нормально, а вот если его снять вручную, лист остается разделенным.


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 14:14 |
    Сообщение № 11

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    Alex_ST, я открыл файл со 132 листами, вставил Option Explicit, затем сразу под ним код, который Вы написали в своем посте. Запустил — никаких изменений или ошибок, просто частое моргание экрана и все.

     

    Ответить

    AndreTM

    Дата: Понедельник, 25.05.2015, 14:58 |
    Сообщение № 12

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1762


    Репутация:

    498

    ±

    Замечаний:
    0% ±


    2003 & 2010

    Ну непонятливость можнопростить. Но неумение читать…


    Skype: andre.tm.007
    Donate: Qiwi: 9517375010

     

    Ответить

    Alex_ST

    Дата: Понедельник, 25.05.2015, 15:04 |
    Сообщение № 13

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3176


    Репутация:

    604

    ±

    Замечаний:
    0% ±


    2003

    Моргание экрана???
    Это с чего бы вдруг? Ведь в начале перед циклом стоит Application.ScreenUpdating = False, а по завершении Application.ScreenUpdating = True
    Ничего мигать не должно!
    Я бы, правда, написАл чуть по-другому — так, чтобы границы закрепления не задавались жёстко 2:2, а определялись по выделенной на активном в момент запуска листе ячейкой (ну не люблю я процедур с прописанными в теле диапазонами), но это сути не меняет.
    Код практически точно такой же, как у Андрея (AndreTM):

    К стати, код Вы поместили в стандартный модуль, надеюсь, а не в модуль листа?



    С уважением,
    Алексей
    MS Excel 2003 — the best!!!

    Сообщение отредактировал Alex_STПонедельник, 25.05.2015, 15:23

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 15:11 |
    Сообщение № 14

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    Вот скриншот вставки кода и его размещения в VBA:

    Сообщение отредактировал МурадПонедельник, 25.05.2015, 15:12

     

    Ответить

    Alex_ST

    Дата: Понедельник, 25.05.2015, 15:20 |
    Сообщение № 15

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3176


    Репутация:

    604

    ±

    Замечаний:
    0% ±


    2003

    Я, к сожалению, свой файл-пример с работающим макросом выложить не могу — собаки-сисадмины не дают.
    Но у Вас какие-то чудеса…
    Попробуйте для начала на новом чистом файле.
    А может быть это кто-то из других процедур события смены листов или пересчёт перехватывает?
    Попробуйте-ка всё события запретить:



    С уважением,
    Алексей
    MS Excel 2003 — the best!!!

    Сообщение отредактировал Alex_STПонедельник, 25.05.2015, 15:25

     

    Ответить

    nilem

    Дата: Понедельник, 25.05.2015, 15:33 |
    Сообщение № 16

    Группа: Авторы

    Ранг: Старожил

    Сообщений: 1612


    Репутация:

    563

    ±

    Замечаний:
    0% ±


    Excel 2013, 2016

    Мурад, похоже вставил код в Персонал. Можно и так, но тогда замените ThisWorkbook на ActiveWorkbook


    Яндекс.Деньги 4100159601573

     

    Ответить

    Manyasha

    Дата: Понедельник, 25.05.2015, 15:37 |
    Сообщение № 17

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    Мурад, PERSONAL.XLSB?
    Зачем туда? Вам листы Вашей книги нужно обрабатывать, вставлять код нужно в проект Вашей книги «1.ВПО.xslx».


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 15:39 |
    Сообщение № 18

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    Спасибо, nilem!!! Заменил This на Active и заработало :)

    Сообщение отредактировал МурадПонедельник, 25.05.2015, 15:40

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 15:44 |
    Сообщение № 19

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007


    Так я ведь чайник :)

    Сообщение отредактировал МурадПонедельник, 25.05.2015, 15:44

     

    Ответить

    Мурад

    Дата: Понедельник, 25.05.2015, 15:46 |
    Сообщение № 20

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 509


    Репутация:

    17

    ±

    Замечаний:
    0% ±


    Excel 2007

    Спасибо огромное за терпение и старания всем! Отдельный плюс Андрею!

     

    Ответить

    #Руководства

    • 20 апр 2022

    • 0

    Разбираемся, как закрепить одну строку, один столбец или сразу несколько строк и столбцов.

    Иллюстрация: Meery Mary для Skillbox Media

    Ксеня Шестак

    Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

    Закрепление областей в Excel позволяет всегда держать нужные строки или столбцы таблицы на виду. Это полезно, когда все данные не помещаются на одном экране, а при прокрутке теряются названия столбцов или строк и приходится всё время возвращаться в начало, чтобы увидеть, о чём идёт речь.

    Закрепление областей облегчает работу с большим объёмом данных. Функция «замораживает» первую строку таблицы, первый столбец или несколько столбцов и строк одновременно.

    Представьте большой отчёт о продаже автомобилей. Столбцы таблицы отражают характеристики авто и контакты клиентов, которые их купили. Каждая строка — отдельный автомобиль.

    Все столбцы помещаются на одном экране, только если сильно уменьшить масштаб. Все строки на экране не помещаются. Чтобы упростить работу с такой таблицей, разберёмся, как закрепить нужные области: строки, столбцы, строки и столбцы одновременно. В конце расскажем, как снять закрепление.

    Пример таблицы, в которой нужно закрепить строки и столбцы
    Скриншот: Skillbox

    Шапка нашей таблицы состоит из одной строки — она выделена жёлтым цветом на рисунке ниже. Закрепим её так, чтобы при прокрутке вниз названия столбцов были всегда видны:

    1. Выделяем любую ячейку таблицы.
    2. Переходим на вкладку «Вид».
    3. Нажимаем кнопку «Окно» и выбираем опцию «Закрепить верхнюю строку».

    Закрепляем верхнюю строчку в таком порядке
    Скриншот: Skillbox

    Готово — под первой строкой появилась граница. Теперь шапка таблицы отображается в любой области листа.

    В какой части таблицы бы мы ни находились, всегда видим названия столбцов
    Скриншот: Skillbox

    Допустим, нужно закрепить не только шапку, но и первые три строки таблицы. Выделим их жёлтым цветом для удобства.

    Сначала делаем активной любую ячейку под строкой, которую нужно закрепить. В нашем случае — любая ячейка пятой строки.

    Выделяем ячейку под строками, которые будем закреплять
    Скриншот: Skillbox

    Потом переходим на вкладку «Вид», нажимаем кнопку «Окно» и выбираем опцию «Закрепить области».

    Порядок действий для закрепления нескольких строк
    Скриншот: Skillbox

    Готово — появилась граница под четвёртой строкой. Теперь все эти строки отображаются в любой области таблицы при прокрутке.

    Так выглядит таблица, в которой закреплено несколько строк
    Скриншот: Skillbox

    Первый столбец нашей таблицы — названия марок и моделей автомобилей. Он выделен жёлтым цветом на рисунке ниже. Закрепим его так, чтобы при прокрутке вправо всегда было видно, о каком автомобиле идёт речь:

    1. Выделяем любую ячейку таблицы.
    2. Переходим на вкладку «Вид».
    3. Нажимаем кнопку «Окно» и выбираем опцию «Закрепить первый столбец».

    Порядок действий для закрепления первого столбца в Excel
    Скриншот: Skillbox

    Готово — справа от первого столбца появилась граница. Теперь марки и модели автомобилей всегда отображаются при прокрутке вправо.

    Теперь всегда видно, к какому авто относится цена и другие параметры
    Скриншот: Skillbox

    Допустим, нам для работы постоянно нужна информация из первых двух столбцов — они выделены жёлтым на скриншоте. Закрепить их можно в два шага.

    Сначала находим столбец, который находится справа от фиксируемого. Выделяем в нём первую ячейку. В нашем случае это ячейка первой строки столбца C.

    Выделяем первую ячейку в столбце, который идёт следующим за закрепляемыми
    Скриншот: Skillbox

    Затем переходим на вкладку «Вид», нажимаем кнопку «Окно» и выбираем опцию «Закрепить области».

    Порядок действий для закрепления нескольких столбцов
    Скриншот: Skillbox

    Готово — граница появилась справа от второго столбца. Теперь в любой области таблицы отображаются марки и модели автомобилей и год их выпуска.

    Так выглядит таблица, в которой закреплено два столбца
    Скриншот: Skillbox

    Допустим, при работе с таблицей будет удобно, чтобы всегда были на виду шапка таблицы и колонка с марками авто и годом их выпуска. Эти области выделены жёлтым цветом на рисунке ниже. Разберёмся, как закрепить одновременно первую строку и два первых столбца.

    Сначала делаем активной первую ячейку на пересечении строк и столбцов, которые нужно зафиксировать. В нашем случае — ячейку C2.

    Всё, что слева и выше от этой ячейки, будет зафиксировано
    Скриншот: Skillbox

    Переходим на вкладку «Вид», нажимаем кнопку «Окно» и выбираем «Закрепить области».

    Действуем так же, как при закреплении нескольких столбцов или строк
    Скриншот: Skillbox

    Готово — границы появились справа от второго столбца и под первой строкой. Теперь в любой области таблицы отображаются шапка таблицы, марки и модели автомобилей, год их выпуска.

    Прокручиваем таблицу с закреплёнными строками и столбцами — первая строка и два первых столбца стоят на месте
    Скриншот: Skillbox

    Научитесь: Excel + Google Таблицы с нуля до PRO
    Узнать больше

    При работе с большими наборами данных в Excel вам может потребоваться заблокировать определенные строки или столбцы, чтобы вы могли видеть их содержимое при прокрутке в другую область рабочего листа. Ниже вы найдете подробные инструкции о том, как закрепить одну или несколько строк, зафиксировать один или несколько столбцов или «заморозить» и то, и другое одновременно, а также как снять блокировку. В Excel есть специальные инструменты, чтобы зафиксировать шапку таблицы, первые столбцы или же и то, и другое сразу.

    Возможность закрепить строку — очень важный лайфхак в Экселе. Научившись этому простому приему, вы сможете просматривать любую область таблицы, не теряя из поля зрения строку с именами столбцов или так называемую «шапку» таблицы.

    Это можно легко сделать с помощью меню Закрепить области и нескольких других функций.

    Итак, как закрепить строку в Excel? Разберём самое важное:

    «Замораживание» на экране части информации — это всего лишь несколько щелчков мышью. Вы просто нажимаете вкладку «Вид» > и выбираете один из параметров в зависимости от того, что вы хотите заблокировать (как на скриншоте ниже).

    А теперь объясним подробнее.

    Как закрепить верхнюю строку в Excel.

    Если ваша таблица содержит большое количество строк, то при прокрутке вниз шапка с названиями колонок скроется из виду. И вам будет достаточно сложно ориентироваться в изобилии цифр. Ведь довольно сложно запомнить, что записано в каждом из столбцов. Или придется постоянно прокручивать таблицу вверх-вниз. Поэтому эту проблему нужно обязательно решить, закрепив одну или несколько верхних строк таблицы.

    Рассмотрим, как зафиксировать строку в Excel при прокрутке таблицы вниз. Перейдите на вкладку «Вид» и действуйте так, как показано на рисунке.

    Это действие заблокирует самую первую строку в вашем рабочем листе Excel, чтобы она оставалась на виду при навигации по данным.

    Выбираем пункт «Закрепить верхнюю строку».

    Вы можете визуально определить, что шапка таблицы «заморожена», видя серую линию под ней:

    Закреплена первая строка

    Как «заморозить» несколько строк.

    Но очень часто бывает, что шапка таблицы расположена в нескольких верхних строках. Если вы хотите заблокировать несколько строчек (начиная с первой), то выполните следующие действия:

    1. Выберите строку (или просто первую позицию в ней), информацию выше которой вы хотите видеть постоянно. Например, если заголовки столбцов занимают первые две строки, то установите курсор в первую ячейку третьей строки.
    2. На вкладке «Вид» нажмите

    Например, чтобы заблокировать две верхние строки на листе, мы выбираем ячейку A3 и выбираем первый пункт в меню:

    Закрепляем область выше и левее курсора.

    Как видно на скриншоте, если мы хотим зафиксировать первые две строчки, устанавливаем курсор на третью. В результате вы сможете прокручивать содержимое листа, а на экране всегда будет оставаться шапка таблицы.

    Предупреждения:

    • Учтите, что при закреплении области таблицы будут зафиксированы все строки и столбцы, которые находятся выше и левее указанной ячейки. Поэтому, если вы хотите закрепить только строки, то установите курсор в ячейку первого столбца перед использованием инструмента.
    • Microsoft Excel при прокрутке таблицы позволяет замораживать только содержимое верхней части рабочего листа. Невозможно заблокировать что-либо в середине.
    • Убедитесь, что все фиксируемые данные видны в момент «замораживания». Если какие-то данные не видны, то они будут скрыты.
    • Если вы вставите строку перед той, что была закреплена (в нашем случае, между первой и второй), то она тоже будет зафиксирована.

    Как зафиксировать столбец в Excel

    Теперь рассмотрим, как закрепить столбец в Excel при прокрутке вправо. Эта операция выполняется аналогично рассмотренным выше действиям со строками.

    Как заблокировать первый столбец.

    Чтобы закрепить столбец при прокрутке вправо, выберите в выпадающем меню — «Закрепить первый столбец».

    Это сделает первую слева колонку постоянно видимой во время горизонтальной прокрутки вправо.

    Как «заморозить» несколько столбцов.

    Чтобы зафиксировать более одного столбца, это то, что вам нужно сделать:

    1. Выберите столбец (или первую позицию в нем) справа от последнего столбца, который вы хотите заблокировать.
    2. Перейдите на вкладку «Вид» и нажмите

    Например, чтобы заморозить первые два столбца, выделите всю колонку C или просто поставьте курсор в ячейку C1 и нажмите как на скриншоте:

    Зафиксируем первые два столбца

    Это позволит вам постоянно видеть первые 2 позиции с левой стороны при перемещении по рабочему листу.
    Предупреждения:

    • Вы можете закрепить столбец только слева, на краю вашей таблицы. Столбцы в середине таблицы не могут быть зафиксированы.
    • Все столбцы, которые нужно заблокировать, должны быть видны. Все, которые не видны, будут скрыты после фиксации.
    • Если вы вставите колонку перед той, что была закреплена, новая колонка будет также закрепленной. В нашем примере, если вы вставите столбец между A и B, то Excel при прокрутке зафиксирует уже 3 первых столбца.

    Как закрепить строку и столбец одновременно.

    Помимо блокировки по отдельности, Microsoft Excel позволяет замораживать одновременно ячейки по вертикали и горизонтали. Вот как делается закрепление областей :

    1. Выберите клетку ниже и справа от той области, которую вы хотите заблокировать. К примеру, если мы хотим постоянно видеть на экране шапку таблицы, состоящую из двух строчек, а также первые две колонки слева, то ставим курсор в C3.
    2. На вкладке «Вид» выберите .

    Да, это так просто 🙂

    Примечание. Фиксируется весь диапазон, который находится выше и левее курсора.

    Таким же образом вы можете заморозить столько по вертикали и горизонтали, сколько захотите. Но при условии, что вы начинаете с верхнего ряда и самой левой колонки.

    Например, чтобы заблокировать верхнюю строку и первые 2 столбика, вы выбираете C2; чтобы заморозить первые две строчки и первые две колонки, выберите C3 и т. д.

    Обратите внимание, что, чтобы закрепить строку и столбец, действуют те же правила, о которых мы говорили выше. Зафиксировано будет только то, что видно на экране. Все, что находится выше и правее и не попадает на экран на момент совершения операции, будет просто скрыто.

    Как разблокировать строки и столбцы?

    Если вы «заморозили» часть таблицы, то нажатием горячих клавиш Ctrl+Z (отмена действия) нельзя ничего исправить. Снять закрепление областей можно только через меню.

    Чтобы разблокировать «зафиксированные» данные, перейдите на вкладку «Вид» и нажмите «Снять закрепление …». Эта кнопка появляется в меню, только если вы закрепили какие-то строки либо столбцы.

    Если кнопка отключена (выделена серым цветом) то, скорее всего, это происходит по следующим причинам:

    • Вы находитесь в режиме редактирования. Например, происходит ввод формулы или редактирование данных. Чтобы выйти из режима редактирования, нажмите Enter или Esc.
    • Ваш рабочий лист защищен. Пожалуйста, сначала снимите защиту рабочей книги, а затем действуйте, как описано выше в этой статье.

    Другие способы закрепления столбцов и строк.

    Еще один способ несколько нестандартный способ — это разделить экран на несколько частей. Особенность этого приёма заключается в следующем:

    Разделение панелей делит ваш экран на две или же четыре области, которые можно просматривать независимо друг от друга. При прокрутке внутри одной из них ячейки в другой остаются на прежнем месте.

    Чтобы разделить окно на части, выберите позицию снизу или справа от того места, в котором вы хотите это сделать, и нажмите соответствующую кнопку. Чтобы отменить операцию, снова нажмите её же.

    Еще один способ — использование «умной» таблицы для блокировки её заголовка.

    Если вы хотите, чтобы заголовок всегда оставался фиксированным вверху при прокрутке вниз, преобразуйте диапазон в таблицу Excel:

    Самый быстрый способ создать таблицу в Excel — нажать Ctl + T.

    Однако при этом учитывайте, что если шапка состоит более чем из 1 строчки, то зафиксируется только первая из них. В результате может получиться не очень красиво.

    Печать заголовка таблицы на каждой странице

    Если вы хотите повторить одну или несколько верхних строк листа Excel на каждой напечатанной странице, переключитесь на вкладку «Разметка страницы» и нажмите кнопку «Печатать заголовки». Далееперейдите на вкладку «Лист» и выберите сквозные строки.

    Несколько советов и предупреждений.

    Как вы только что видели, фиксация областей в Excel — одна из самых простых задач. Однако, как это часто бывает с Microsoft, внутри скрывается гораздо больше.

    Предостережение: предотвращение полного исчезновения строк и столбцов при закреплении областей рабочей книги.

    Когда вы блокируете несколько строк или столбцов в электронной таблице, вы можете непреднамеренно скрыть некоторые из них, и в результате потом вы уже не увидите их. Чтобы избежать этого, убедитесь, что всё, что вы хотите зафиксировать, находится в поле зрения в момент осуществления операции.

    Например, вы хотите заморозить первые две строчки, но первая в настоящее время не видна, как показано на скриншоте ниже. В результате первая из них не будет отображаться позже, и вы не сможете переместиться на нее. Тем не менее, вы все равно сможете установить курсор в ячейку в скрытой замороженной позиции с помощью клавиш управления курсором (которые со стрелками) и при необходимости даже изменить её.

    Excel может зафиксировать области несколько иначе, чем вы ожидали.

    Вы мне не верите? Тогда попробуйте выбрать ячейку A3, когда первые две не видны (просто находятся чуть выше видимой части таблицы), и щелкните . Что вы ожидаете? Что строки 1 — 2 будут заморожены? Нет! Microsoft Excel думает иначе, и на снимке экрана ниже показан один из многих возможных результатов:

    Неподвижной стали ¾ экрана. Вряд ли с такой логикой программы можно согласиться.

    Поэтому, пожалуйста, помните, что данные, которые вы собираетесь зафиксировать, всегда должны быть полностью видны.

    Совет: Как замаскировать линию, отделяющую закрепленную область.

    Если вам не нравится тёмная линия, которую Microsoft Excel рисует внизу и справа от зафиксированной области, вы можете попытаться замаскировать ее с помощью шаблонов оформления и небольшого творческого подхода:)

    Выберите приятный для вас вариант оформления нижней границы ячеек, и линия не будет раздражать вас.

    Вот как вы можете заблокировать строку в Excel, зафиксировать столбец или одновременно сделать и то, и другое.

    Как закрепить строку или столбец таблицы в Эксель

    Microsoft Excel обладает большим набором различных функций. С его помощью пользователь может создавать таблицы, анализировать данные на основе созданных сводных, строить диаграммы и графики, рассчитывать значения, используя необходимые формулы и функции. И помимо всего этого, используя Эксель, Вы также сможете просматривать большие таблицы.

    Если у Вас много данных, записанных по строкам и столбцам, все что потребуется – это зафиксировать столбцы и строки. Затем Вы сможете пролистывать ее, и всегда видеть, например, шапку.

    Итак, давайте разберемся, как можно закрепить необходимую область в Эксель.

    Первый рядок и столбец

    Возьмем следующий пример, в котором подписаны названия для всех столбцов. Переходим на вкладку «Вид» и кликаем по кнопочке «Закрепить области» . Из выпадающего меню можно выбрать пункт с соответствующим названием.

    Как закрепить область в Excel

    Кнопочка «…верхнюю строку» позволит зафиксировать рядок под номером «1» . В результате, при прокрутке данных, он всегда будет оставаться на виду.

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

    Если выбрать «…первый столбец» , то при прокрутке листа вправо или влево, столбец «А» всегда будет оставаться на месте.

    В рассматриваемом случае это не подходит, так как первый столбец расположен под буквой «С» , а нужная строка под номером «3» .

    Нужный рядок

    Для того чтобы закрепить шапку в таблице Excel, которая находится в произвольном месте листа, сделаем следующее. Выделяем рядок, который находится сразу под шапкой, в нашем случае – это 4. Про способы выделения, Вы можете прочитать подробную статью, как выделить ячейки в Эксель. Теперь кликаем по кнопочке «Закрепить области» и выбираем одноименный пункт из выпадающего меню.

    Как видите, при пролистывании таблицы, закрепленная шапка остается на месте.

    Нужный столбик

    Для того чтобы зафиксировать первый столбец для введенных данных, который находится не в А , выделяем соседний – в примере это D . Теперь кликаем на кнопочку «Закрепить области» .

    Можно убедиться, что при пролистывании вправо, С остается на месте.

    Быстрый способ

    Чтобы закрепить первый столбец и строку в таблице, выделите ячейку, которая находится сразу под их пересечением: в примере – D4 . Потом кликните по уже знакомой нам кнопке. Появятся горизонтальные линии, которые будут обозначать зафиксированную область.

    Как удалить

    Если Вам нужно удалить закрепленную область в Excel, кликните по кнопке «Закрепить области» . В выпадающем списке вы увидите, что теперь самом верху там стоит «Снять закрепление…» , кликните по нему.

    Как видите, зафиксировать нужную область в Excel довольно просто. Используя данные рекомендации, Вы сможете закрепить шапку таблицы, ее первую строку или столбец.

    Узнаем как закрепить области в Excel, будь то по отдельности строки по горизонтали или столбцы по вертикали, так и их комбинацию в виде области, а также разберем альтернативный способ с помощью опции разделения окна.

    Приветствую всех, дорогие читатели блога TutorExcel.Ru!

    При работе с таблицами с достаточно внушительным количеством строк и столбцов мы иногда теряем фокус на что именно смотрим — пока дойдем до необходимого места потеряем из виду сам показатель.

    К примеру, рассмотрим следующую таблицу с численностью по городам России по годам, где потеряться в числах очень просто:

    Пример таблицы

    Во избежание подобных проблем в Excel есть встроенный инструмент позволяющий нам прикрепить к краю листа строки и столбцы (и вообще в целом произвольное сочетание в виде области), которые фиксируются на одном месте и при прокрутке страницы мы всегда их увидим.

    Однако обо всем по порядку.

    Как закрепить строки в Excel?

    Для начала, чтобы закрепить верхнюю строку при вертикальной прокрутке (при движении вверх-вниз по листу) в панели вкладок выбираем Вид -> Окно -> Закрепить области, а затем щелкаем по команде Закрепить первую строку:

    Путь в панели вкладок для установки закрепления

    Верхняя строка автоматически закрепится и теперь при прокрутке она всегда будет вверху страницы:

    Закрепление первой строки

    Внешне определить, что на странице появилось закрепление, также можно обратив внимание на нижнюю границу прикрепленной строки (линия между первой и остальными строками) — она стала более четко выраженной с помощью выделения более темным цветом.

    Как закрепить столбцы в Excel?

    От строк переходим к столбцам.

    Для того, чтобы закрепить столбец при горизонтальной прокрутке (при движении вправо-влево по странице) повторяем все те же самые действия, только в конце теперь уже выбираем команду Закрепить первый столбец:

    Фиксирование первого столбца

    В результате получаем прикрепленный первый столбец и при прокрутке он будет всегда привязан к левому краю страницы.

    Также можно заметить, что, как и в примере выше, закрепленный столбец выделяется с помощью затемненной заливки границы.

    Как закрепить области в Excel?

    Помимо фиксации по отдельности строк и столбцов мы также можем закрепить области в виде их комбинации. Например, одновременно закрепить первую строку и первый столбец.

    Для решения такой задачи нам нужно встать в ячейку и запомнить правило закрепления.

    Все что находится строго выше и левее выделенной активной ячейки фиксируется, все остальное будет прокручиваться.

    Другим словами если визуально поделить лист Excel на 4 четверти, то не закреплённой и доступной к прокрутке остаётся только нижняя правая часть, а остальные 3 буду зафиксированы (в зависимости от типа прокрутки):

    Правило как одновременно закрепить строки и столбцы

    Поэтому встаём в ячейку выше и левее которой мы планируем закрепить пространство, а далее уже по знакомой схеме идём в панели вкладок и выбираем Закрепить области:

    Закрепление первой строки и первого столбца

    Важный момент.

    Закрепить можно только начальные строки и столбцы, например, из середины листа осуществить это уже никак не получится.

    Давайте рассмотрим еще пару интересных и полезных примеров.

    Как закрепить несколько первых строк или столбцов в Excel?

    Как мы видели отдельной стандартной команды для закрепления, к примеру, нескольких верхних строк в Excel нет. Но мы это прекрасно сможем сделать и через обычное закрепление областей.

    Для этого достаточно выделить строку следующую за фиксируемой и выбрать команду Закрепить области. Также идентичного результата можно добиться если встать в первый столбец и в строку следующую за фиксируемыми.

    Например, мы хотим закрепить две верхних строки, тогда встаём в ячейку A3 (т.е. 1 столбец и 3 строка) и фиксируем области:

    Фиксирование нескольких строк

    Действительно, получается, что все что выше и левее выбранной ячейки закрепится, а это как раз только две первых строки.

    Для фиксации нескольких первых столбцов алгоритм действий точно такой же, единственное отличие в том, что для закрепления двух первых столбцов нужно будет встать в ячейку C1 (т.е. 3 столбец и 1 строка):

    Закрепление нескольких столбцов

    Как снять закрепление областей в Excel?

    Для того, чтобы снять любое закрепление областей необходимо в панели вкладок перейти в Вид -> Окно -> Закрепить области, а затем щелкнуть Снять закрепление областей (эта опция появится вместо опции Закрепить области):

    Путь в панели вкладок для снятия закрепления

    Также учитывайте, что с чего-то одного (к примеру, только со столбцов) снять фиксацию не выйдет, закрепление будет убрано сразу со всех элементов на листе.

    Дополнительный способ закрепления строк и столбцов

    В принципе с классическим подходом фиксирования строк и столбцов мы познакомились выше, но как альтернативу дополнительно можно рассмотреть еще один способ.

    Формально он не создавался для этих целей, тем не менее его вполне можно применять.

    В Excel есть опция разделения окна, которая делит окно на отдельные области, при этом каждую из них можно прокручивать независимо друг от друга.

    Чем это можем быть полезно для нас?

    Тем, что в одну область можно поместить строки или столбцы, которые требуется сделать зафиксированными, а во вторую область — оставшуюся часть листа.

    Поэтому для фиксации строк встаем в первую ячейку строки находящейся за прикрепляемыми и в панели вкладок выбираем в Вид -> Окно -> Разделить:

    Разделение окна по горизонтали

    Здесь мы уже видим, что, в отличие от классического закрепления, граница между областями выделяется более заметно. Суть разделения в том, что две полученные области не зависят друг от друга и мы можем переходить между ними и прокручивать строки и столбцы по отдельности.

    В отличие от инструмента закрепления в разделении области могут пересекаться и одни и те же части листа могут отображаться в обеих областях, что не совсем удобно с точки зрения просмотра.

    Помимо строк мы также можем прикрепить и столбцы с помощью этого способа, встаем в первую ячейку столбца находящегося за фиксируемыми и повторяем действия:

    Разделение окна по вертикали

    В целом рекомендую использовать стандартный вариант с закреплением областей как более удобный и практичный, а вариант с разделением если подобная структура деления листа применима и для других ваших задач или если вдруг забыли стандартный способ.

    Спасибо за внимание!
    Если у вас есть вопросы или мысли по теме статьи — обязательно спрашивайте и пишите в комментариях.

    Skip to content

    Как в Excel закрепить строку и столбец при прокрутке — советы и предупреждения

    При работе с большими наборами данных в Excel вам может потребоваться заблокировать определенные строки или столбцы, чтобы вы могли видеть их содержимое при прокрутке в другую область рабочего листа. Ниже вы найдете подробные инструкции о том, как закрепить одну или несколько строк, зафиксировать один или несколько столбцов или «заморозить» и то, и другое одновременно, а также как снять блокировку. В Excel есть специальные инструменты, чтобы зафиксировать шапку таблицы, первые столбцы или же и то, и другое сразу.

    Возможность закрепить строку — очень важный лайфхак в Экселе. Научившись этому простому приему, вы сможете просматривать любую область таблицы, не теряя из поля зрения строку с именами столбцов или так называемую «шапку» таблицы.

     Это можно легко сделать с помощью меню Закрепить области и нескольких других функций.

    Итак, как закрепить строку в Excel? Разберём самое важное:

    • Как зафиксировать вернюю строку при прокрутке
    • Как зафиксировать сразу несколько строк.
    • Закрепляем крайний левый столбец.
    • Как закрепить по вертикали и горизонтали одновременно?
    • Что если нужно отменить?
    • Почему не работает?
    • Нетрадиционные спрсобы фиксации строк и столбцов
    • Если нужно зафиксировать заголовок таблицы при печати
    • Будьте аккуратны — несколько советов и предупреждений

    «Замораживание» на экране части информации — это всего лишь несколько щелчков мышью. Вы просто нажимаете вкладку «Вид» > и выбираете один из параметров в зависимости от того, что вы хотите заблокировать (как на скриншоте ниже).

    А теперь объясним подробнее.

    Как закрепить верхнюю строку в Excel.

    Если ваша таблица содержит большое количество строк, то при прокрутке вниз шапка с названиями колонок скроется из виду. И вам будет достаточно сложно ориентироваться в изобилии цифр. Ведь довольно сложно запомнить, что записано в каждом из столбцов. Или придется постоянно прокручивать таблицу вверх-вниз. Поэтому эту проблему нужно обязательно решить, закрепив одну или несколько верхних строк таблицы.

    Рассмотрим, как зафиксировать строку в Excel при прокрутке таблицы вниз. Перейдите на вкладку «Вид» и действуйте так, как показано на рисунке.

    Это действие заблокирует самую первую строку в вашем рабочем листе Excel, чтобы она оставалась на виду при навигации по данным.

    Выбираем пункт «Закрепить верхнюю строку».

    Вы можете визуально определить, что шапка таблицы «заморожена», видя серую линию под ней:

    Закреплена первая строка

    Как «заморозить» несколько строк.

    Но очень часто бывает, что шапка таблицы расположена в нескольких верхних строках. Если вы хотите заблокировать несколько строчек (начиная с первой), то выполните следующие действия:

    1. Выберите строку (или просто первую позицию в ней), информацию выше которой вы хотите видеть постоянно. Например, если заголовки столбцов занимают первые две строки, то установите курсор в первую ячейку третьей строки.
    2. На вкладке «Вид» нажмите

    Например, чтобы заблокировать две верхние строки на листе, мы выбираем ячейку A3 и выбираем первый пункт в меню:

    Закрепляем область выше и левее курсора.

    Как видно на скриншоте, если мы хотим зафиксировать первые две строчки, устанавливаем курсор на третью. В результате вы сможете прокручивать содержимое листа, а на экране всегда будет оставаться шапка таблицы.

    Предупреждения:

    • Учтите, что при закреплении области таблицы будут зафиксированы все строки и столбцы, которые находятся выше и левее указанной ячейки. Поэтому, если вы хотите закрепить только строки, то установите курсор в ячейку первого столбца перед использованием инструмента.
    • Microsoft Excel при прокрутке таблицы позволяет замораживать только содержимое верхней части рабочего листа. Невозможно заблокировать что-либо в середине.
    • Убедитесь, что все фиксируемые данные видны в момент «замораживания». Если какие-то данные не видны, то они будут скрыты. 
    • Если вы вставите строку перед той, что была закреплена (в нашем случае, между первой и второй), то она тоже будет зафиксирована.

    Как зафиксировать столбец в Excel

    Теперь рассмотрим, как закрепить столбец в Excel при прокрутке вправо. Эта операция выполняется аналогично рассмотренным выше действиям со строками.

    Как заблокировать первый столбец.

    Чтобы закрепить столбец при прокрутке вправо, выберите в выпадающем меню — «Закрепить первый столбец».

    Это сделает первую слева колонку постоянно видимой во время горизонтальной прокрутки вправо.

    Как «заморозить» несколько столбцов.

    Чтобы зафиксировать более одного столбца, это то, что вам нужно сделать:

    1. Выберите столбец (или первую позицию в нем) справа от последнего столбца, который вы хотите заблокировать.
    2. Перейдите на вкладку «Вид» и нажмите

    Например, чтобы заморозить первые два столбца, выделите всю колонку C или просто поставьте курсор в ячейку C1 и нажмите как на скриншоте:

    Зафиксируем первые два столбца

    Это позволит вам постоянно видеть первые 2 позиции с левой стороны при перемещении по рабочему листу.
    Предупреждения:

    • Вы можете закрепить столбец только слева, на краю вашей таблицы. Столбцы в середине таблицы не могут быть зафиксированы.
    • Все столбцы, которые нужно заблокировать, должны быть видны. Все, которые не видны, будут скрыты после фиксации.
    • Если вы вставите колонку перед той, что была закреплена, новая колонка будет также закрепленной. В нашем примере, если вы вставите столбец между A и B, то Excel при прокрутке зафиксирует уже 3 первых столбца.

    Как закрепить строку и столбец одновременно.

    Помимо блокировки по отдельности, Microsoft Excel позволяет замораживать одновременно ячейки по вертикали и горизонтали. Вот как делается закрепление областей :

    1. Выберите клетку ниже и справа от той области, которую вы хотите заблокировать. К примеру, если мы хотим постоянно видеть на экране шапку таблицы, состоящую из двух строчек, а также первые две колонки слева, то ставим курсор в C3.
    2. На вкладке «Вид» выберите .

    Да, это так просто :)

    Таким же образом вы можете заморозить столько по вертикали и горизонтали, сколько захотите. Но при условии, что вы начинаете с верхнего ряда и самой левой колонки.

     Например, чтобы заблокировать верхнюю строку и первые 2 столбика, вы выбираете C2; чтобы заморозить первые две строчки и первые две колонки, выберите C3 и т. д.

    Обратите внимание, что, чтобы закрепить строку и столбец, действуют те же правила, о которых мы говорили выше. Зафиксировано будет только то, что видно на экране. Все, что находится выше и правее и не попадает на экран на момент совершения операции, будет просто скрыто.

    Как разблокировать строки и столбцы?

    Если вы «заморозили» часть таблицы, то нажатием горячих клавиш Ctrl+Z (отмена действия) нельзя ничего исправить. Снять закрепление областей можно только через меню.

    Чтобы разблокировать «зафиксированные» данные, перейдите на вкладку «Вид» и нажмите «Снять закрепление …». Эта кнопка появляется в меню, только если вы закрепили какие-то строки либо столбцы.

    При этом уже не важно, где расположен курсор и в каком месте листа вы находитесь.

    Почему не работает?

    Если кнопка  отключена (выделена серым цветом) то, скорее всего, это происходит по следующим причинам:

    • Вы находитесь в режиме редактирования. Например, происходит ввод формулы или редактирование данных. Чтобы выйти из режима редактирования, нажмите Enter или Esc.
    • Ваш рабочий лист защищен. Пожалуйста, сначала снимите защиту рабочей книги, а затем действуйте, как описано выше в этой статье.

    Другие способы закрепления столбцов и строк.

    Еще один способ несколько нестандартный способ — это разделить экран на несколько частей. Особенность этого приёма заключается в следующем:

    Разделение панелей делит ваш экран на две или же четыре области, которые можно просматривать независимо друг от друга. При прокрутке внутри одной из них ячейки в другой остаются на прежнем месте.

    Чтобы разделить окно на части, выберите позицию снизу или справа от того места, в котором вы хотите это сделать, и нажмите соответствующую кнопку.  Чтобы отменить операцию, снова нажмите её же.

    Еще один способ — использование «умной» таблицы для блокировки её заголовка.

    Если вы хотите, чтобы заголовок всегда оставался фиксированным вверху при прокрутке вниз, преобразуйте диапазон в таблицу Excel:

    Самый быстрый способ создать таблицу в Excel — нажать Ctl + T. 

    Однако при этом учитывайте, что если шапка состоит более чем из 1 строчки, то зафиксируется только первая из них. В результате может получиться не очень красиво.

    Печать заголовка таблицы на каждой странице

    Если вы хотите повторить одну или несколько верхних строк листа Excel на каждой напечатанной странице, переключитесь на вкладку «Разметка страницы» и нажмите кнопку «Печатать заголовки». Далееперейдите на вкладку «Лист» и выберите сквозные строки

    Несколько советов и предупреждений.

    Как вы только что видели, фиксация областей в Excel — одна из самых простых задач. Однако, как это часто бывает с Microsoft, внутри скрывается гораздо больше. 

    Предостережение: предотвращение полного исчезновения строк и столбцов при закреплении областей рабочей книги.

    Когда вы блокируете несколько строк или столбцов в электронной таблице, вы можете непреднамеренно скрыть некоторые из них, и в результате потом вы уже не увидите их. Чтобы избежать этого, убедитесь, что всё, что вы хотите зафиксировать, находится в поле зрения в момент осуществления операции.

    Например, вы хотите заморозить первые две строчки, но первая в настоящее время не видна, как показано на скриншоте ниже. В результате первая из них не будет отображаться позже, и вы не сможете переместиться на нее. Тем не менее, вы все равно сможете установить курсор в ячейку в скрытой замороженной позиции с помощью клавиш управления курсором (которые со стрелками) и при необходимости даже изменить её.

    Excel может зафиксировать области несколько иначе, чем вы ожидали.

    Вы мне не верите? Тогда попробуйте выбрать ячейку A3, когда первые две не видны (просто находятся чуть выше видимой части таблицы), и щелкните . Что вы ожидаете? Что строки 1 — 2 будут заморожены? Нет! Microsoft Excel думает иначе, и на снимке экрана ниже показан один из многих возможных результатов:

    Неподвижной стали ¾ экрана. Вряд ли с такой логикой программы можно согласиться.

    Поэтому, пожалуйста, помните, что данные, которые вы собираетесь зафиксировать, всегда должны быть полностью видны.

    Совет: Как замаскировать линию, отделяющую закрепленную область.

    Если вам не нравится тёмная линия, которую Microsoft Excel рисует внизу и справа от зафиксированной области, вы можете попытаться замаскировать ее с помощью шаблонов оформления и небольшого творческого подхода:)

    Выберите приятный для вас вариант оформления нижней границы ячеек, и линия не будет раздражать вас.

    Вот как вы можете заблокировать строку в Excel, зафиксировать столбец или одновременно сделать и то, и другое.

    И это все на сегодня. Спасибо, что прочитали!

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Excel как закрепить нижнюю строку при прокрутке
  • Excel как закрепить несколько ячеек
  • Excel как закрепить несколько формул
  • Excel как закрепить заголовок таблицы при прокрутке
  • Excel как закрепить за числом число

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии