Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Закрепление листов, просмотр строк на разных листах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Закрепление листов, просмотр строк на разных листах (Макросы/Sub)
Закрепление листов, просмотр строк на разных листах
Elvira66 Дата: Воскресенье, 13.08.2017, 09:20 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 117
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Помогите написать код Vba, так чтобы лист 1 занимал 2/3 экрана вертикально, а лист2 1/3 экрана, при этом пользователь не мог изменить данные настройки в данном файле и данные настройки автоматически открывались при открытии книги, при этом сохранилась бы возможность вносить данные в ячейки (пробовала через вид, новое окно, но когда закрываешь файл и открываешь его снова, отображается только один лист, а нужно чтобы отображались два листа). Также необходимо чтобы встав например на строку 19, эта же строка отображалась на листе 2 (ширина строк на двух листах разная). Пример в файле. Спасибо!
К сообщению приложен файл: 3122459.xlsx (10.1 Kb)
 
Ответить
СообщениеДобрый день! Помогите написать код Vba, так чтобы лист 1 занимал 2/3 экрана вертикально, а лист2 1/3 экрана, при этом пользователь не мог изменить данные настройки в данном файле и данные настройки автоматически открывались при открытии книги, при этом сохранилась бы возможность вносить данные в ячейки (пробовала через вид, новое окно, но когда закрываешь файл и открываешь его снова, отображается только один лист, а нужно чтобы отображались два листа). Также необходимо чтобы встав например на строку 19, эта же строка отображалась на листе 2 (ширина строк на двух листах разная). Пример в файле. Спасибо!

Автор - Elvira66
Дата добавления - 13.08.2017 в 09:20
_Igor_61 Дата: Воскресенье, 13.08.2017, 14:20 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Не пробовали - Рецензирование - Защита книги - защитить структуру и окна?
А по второму вопросу нужна отдельная тема (Правила форума - одна тема - один вопрос)
 
Ответить
СообщениеЗдравствуйте! Не пробовали - Рецензирование - Защита книги - защитить структуру и окна?
А по второму вопросу нужна отдельная тема (Правила форума - одна тема - один вопрос)

Автор - _Igor_61
Дата добавления - 13.08.2017 в 14:20
Elvira66 Дата: Воскресенье, 13.08.2017, 14:38 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 117
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - Elvira66
Дата добавления - 13.08.2017 в 14:38
InExSu Дата: Воскресенье, 13.08.2017, 14:45 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
В "ЭтаКнига":
[vba]
Код
Private Sub Workbook_Open()
  Call InExSu_Аранжировка
End Sub
[/vba]
в Модуль1
[vba]
Код
Sub InExSu_Аранжировка()
  'Elvira66 просит "лист 1 занимал 2/3 экрана вертикальн", пусть будет сверху
  Call ЗакрытьОкнаДубли
  Application.WindowState = xlMaximized
  sActWinCap = ActiveWindow.Caption
  With ActiveWindow
    .NewWindow
    Windows(sActWinCap & ":1").Activate
    .WindowState = xlMaximized
  End With
  ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlHorizontal
  Windows(sActWinCap & ":2").Activate: Sheets("Лист2").Select
  Windows.CompareSideBySideWith sActWinCap & ":1"
  Windows(sActWinCap & ":1").Activate: Sheets("Лист1").Select
  With Windows(sActWinCap & ":2")
    .Top = 344.2
    .Left = 1
    .Height = 147.6
  End With
  With Windows(sActWinCap & ":1")
    .Height = 343.8
  End With
End Sub
Sub ЗакрытьОкнаДубли() 'кроме активного
  Dim oW As Object
  For Each oW In Windows
    If InStr(ActiveWindow.Caption, ":") Then _
      ActiveWindow.Close
  Next
End Sub
[/vba]
К сообщению приложен файл: InExSu4Elvira66.xlsm (19.2 Kb)


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac

Сообщение отредактировал InExSu - Воскресенье, 13.08.2017, 19:24
 
Ответить
СообщениеВ "ЭтаКнига":
[vba]
Код
Private Sub Workbook_Open()
  Call InExSu_Аранжировка
End Sub
[/vba]
в Модуль1
[vba]
Код
Sub InExSu_Аранжировка()
  'Elvira66 просит "лист 1 занимал 2/3 экрана вертикальн", пусть будет сверху
  Call ЗакрытьОкнаДубли
  Application.WindowState = xlMaximized
  sActWinCap = ActiveWindow.Caption
  With ActiveWindow
    .NewWindow
    Windows(sActWinCap & ":1").Activate
    .WindowState = xlMaximized
  End With
  ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlHorizontal
  Windows(sActWinCap & ":2").Activate: Sheets("Лист2").Select
  Windows.CompareSideBySideWith sActWinCap & ":1"
  Windows(sActWinCap & ":1").Activate: Sheets("Лист1").Select
  With Windows(sActWinCap & ":2")
    .Top = 344.2
    .Left = 1
    .Height = 147.6
  End With
  With Windows(sActWinCap & ":1")
    .Height = 343.8
  End With
End Sub
Sub ЗакрытьОкнаДубли() 'кроме активного
  Dim oW As Object
  For Each oW In Windows
    If InStr(ActiveWindow.Caption, ":") Then _
      ActiveWindow.Close
  Next
End Sub
[/vba]

Автор - InExSu
Дата добавления - 13.08.2017 в 14:45
Elvira66 Дата: Воскресенье, 13.08.2017, 14:52 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 117
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
У меня данный макрос ошибку выдает.
 
Ответить
СообщениеУ меня данный макрос ошибку выдает.

Автор - Elvira66
Дата добавления - 13.08.2017 в 14:52
InExSu Дата: Воскресенье, 13.08.2017, 14:57 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
ошибку выдает

Исправил в своём посте sub InExSu_Аранжировка(). Замените целиком


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac

Сообщение отредактировал InExSu - Воскресенье, 13.08.2017, 19:24
 
Ответить
Сообщение
ошибку выдает

Исправил в своём посте sub InExSu_Аранжировка(). Замените целиком

Автор - InExSu
Дата добавления - 13.08.2017 в 14:57
Elvira66 Дата: Воскресенье, 13.08.2017, 15:40 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 117
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Приложите файлик, пожалуйста.
 
Ответить
СообщениеПриложите файлик, пожалуйста.

Автор - Elvira66
Дата добавления - 13.08.2017 в 15:40
_Igor_61 Дата: Воскресенье, 13.08.2017, 19:22 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
после блокировки, его не закрыть

Если не закрывается через крестик, можно через меню "Файл" - "Закрыть"
 
Ответить
Сообщение
после блокировки, его не закрыть

Если не закрывается через крестик, можно через меню "Файл" - "Закрыть"

Автор - _Igor_61
Дата добавления - 13.08.2017 в 19:22
InExSu Дата: Воскресенье, 13.08.2017, 19:26 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Приложите файлик

Обновил файл в своём посте № 4


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
Сообщение
Приложите файлик

Обновил файл в своём посте № 4

Автор - InExSu
Дата добавления - 13.08.2017 в 19:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Закрепление листов, просмотр строк на разных листах (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!