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

 

= Мир MS Excel/Сортировка заблокированных ячеек - Страница 2 - Мир MS Excel

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_, DrMini  
Сортировка заблокированных ячеек
_Boroda_ Дата: Четверг, 05.07.2018, 09:34 | Сообщение № 21
Группа: Админы
Ранг: Местный житель
Сообщений: 16913
Репутация: 6617 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Цитата boa, 05.07.2018 в 08:30, в сообщении № 18 ( писал(а)):
я имел ввиду сеанс открытой книги

Тогда странно, я ведь писал
Цитата _Boroda_, 04.07.2018 в 17:11, в сообщении № 14 ( писал(а)):
перегрузил Excel
. а не переоткрыл книгу

Цитата boa, 05.07.2018 в 09:17, в сообщении № 20 ( писал(а)):
защита будет установлена в любом случае при открытии файла
Это если включены макросы Catand76, мы так и будем за Вас примеры придумывать? Прочитайте уже Правила форума и выполните п.3 оттуда

По поводу комментов

Sub Sortir()
    Dim d As Range, d0 As Range 'd и d0 - ячейки
    On Error Resume Next 'пропуск ошибок
    Set d0 = Selection(1) 'd0 - первая ячейка выделенного диапазона на листе
    сb_ = Replace(Cells(1, d0.Column).Address(0, 0), 1, "") 'буква столбца d0
    t_ = "Столбец ''" & сb_ & "'' сортируем по возрастанию?" 'формируем текст для сообщения
    t_ = t_ & vbLf & vbLf & "''Да'' - по возрастанию"
    t_ = t_ & vbLf & "''Нет'' - по убыванию"
    t_ = t_ & vbLf & "''Отмена'' - не сортировать"
    s_ = MsgBox(t_, vbYesNoCancel, "Сортировка по столбцу " & сb_) 'выводим сообщение
    If s_ < 6 Then Exit Sub 'если нажато что-то, ктоме Да и Нет - выход из макроса
    Application.ScreenUpdating = 0 'откл. обновление экрана
    or_ = s_ - 5 'по возрастанию или по убыванию. MSGBOX см https://msdn.microsoft.com/ru-ru....%3Dtrue
    Set d = d0.CurrentRegion 'd = все смежные с d0 ячейки
    Set d = d.Offset(1).Resize(d.Rows.Count - 1) 'd = все, кроме шапки
    With ActiveSheet.Sort.SortFields 'сортируем
        .Clear 'убрать то, что было (не обязательно, но если не написать, то могут быть косяки)
        .Add Key:=d0, Order:=or_ 'какой столбец и как сортируем
        With .Parent '
            .SetRange d 'какой диапазон
            .Apply 'сам процесс сортировки
        End With
    End With
    d0.Select 'выделяем d0
    Application.ScreenUpdating = 1
End Sub



Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата boa, 05.07.2018 в 08:30, в сообщении № 18 ( писал(а)):
я имел ввиду сеанс открытой книги

Тогда странно, я ведь писал
Цитата _Boroda_, 04.07.2018 в 17:11, в сообщении № 14 ( писал(а)):
перегрузил Excel
. а не переоткрыл книгу

Цитата boa, 05.07.2018 в 09:17, в сообщении № 20 ( писал(а)):
защита будет установлена в любом случае при открытии файла
Это если включены макросы Catand76, мы так и будем за Вас примеры придумывать? Прочитайте уже Правила форума и выполните п.3 оттуда

По поводу комментов
[vba]
Sub Sortir()    Dim d As Range, d0 As Range 'd и d0 - ячейки    On Error Resume Next 'пропуск ошибок    Set d0 = Selection(1) 'd0 - первая ячейка выделенного диапазона на листе    сb_ = Replace(Cells(1, d0.Column).Address(0, 0), 1, "") 'буква столбца d0    t_ = "Столбец ''" & сb_ & "'' сортируем по возрастанию?" 'формируем текст для сообщения    t_ = t_ & vbLf & vbLf & "''Да'' - по возрастанию"    t_ = t_ & vbLf & "''Нет'' - по убыванию"    t_ = t_ & vbLf & "''Отмена'' - не сортировать"    s_ = MsgBox(t_, vbYesNoCancel, "Сортировка по столбцу " & сb_) 'выводим сообщение    If s_ < 6 Then Exit Sub 'если нажато что-то, ктоме Да и Нет - выход из макроса    Application.ScreenUpdating = 0 'откл. обновление экрана    or_ = s_ - 5 'по возрастанию или по убыванию. MSGBOX см https://msdn.microsoft.com/ru-ru....%3Dtrue     Set d = d0.CurrentRegion 'd = все смежные с d0 ячейки    Set d = d.Offset(1).Resize(d.Rows.Count - 1) 'd = все, кроме шапки    With ActiveSheet.Sort.SortFields 'сортируем        .Clear 'убрать то, что было (не обязательно, но если не написать, то могут быть косяки)        .Add Key:=d0, Order:=or_ 'какой столбец и как сортируем        With .Parent '            .SetRange d 'какой диапазон            .Apply 'сам процесс сортировки        End With    End With    d0.Select 'выделяем d0    Application.ScreenUpdating = 1End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 05.07.2018 в 09:34
Catand76 Дата: Четверг, 05.07.2018, 09:46 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
boa, Если защиту не отключить сортировка не работает...


Век живи - век учись
 
Ответить
Сообщениеboa, Если защиту не отключить сортировка не работает...

Автор - Catand76
Дата добавления - 05.07.2018 в 09:46
boa Дата: Четверг, 05.07.2018, 09:52 | Сообщение № 23
Группа: Друзья
Ранг: Ветеран
Сообщений: 563
Репутация: 167 ±
Замечаний: 0% ±

365
Catand76,
вы используете последний файл ?
Цитата _Boroda_, 04.07.2018 в 17:11, в сообщении № 14 ( писал(а)):
К сообщению приложен файл: 579175-1-3.xlsm(19.6 Kb)


 
Ответить
СообщениеCatand76,
вы используете последний файл ?
Цитата _Boroda_, 04.07.2018 в 17:11, в сообщении № 14 ( писал(а)):
К сообщению приложен файл: 579175-1-3.xlsm(19.6 Kb)

Автор - boa
Дата добавления - 05.07.2018 в 09:52
Catand76 Дата: Четверг, 05.07.2018, 10:02 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Судя по третьей строчке, для сортировки данных надо ВЫДЕЛИТЬ ДИАПАЗОН....
Неприемлемо... Каждому объяснять как отсортировать (более 50 постоянных сотрудников и порядка 10 временных в месяц....)
За помощь спасибо... Вы уж простите, что я к своим 45 годам не смог освоить VBA, просто когда я учился в институте у нас был класс 3 машины IBM 386 и около 10 "Электроника МК-90" и все чему мы могли научится - это написать на бейсике прогу для счета "А+В"... И для меня несколько сложновато сразу освоить неизвестный мне язык, но я стараюсь... Еще раз спасибо, за помощь.
(Я ни в коем случае не жалуюсь! Нет так нет, буду смотреть дальше ролики на Ютубе и искать книги... Рано или позно я решу эту задачу, просто думал с Грамотными Ребятами будет несколько быстрее...)


Век живи - век учись
 
Ответить
Сообщение_Boroda_, Судя по третьей строчке, для сортировки данных надо ВЫДЕЛИТЬ ДИАПАЗОН....
Неприемлемо... Каждому объяснять как отсортировать (более 50 постоянных сотрудников и порядка 10 временных в месяц....)
За помощь спасибо... Вы уж простите, что я к своим 45 годам не смог освоить VBA, просто когда я учился в институте у нас был класс 3 машины IBM 386 и около 10 "Электроника МК-90" и все чему мы могли научится - это написать на бейсике прогу для счета "А+В"... И для меня несколько сложновато сразу освоить неизвестный мне язык, но я стараюсь... Еще раз спасибо, за помощь.
(Я ни в коем случае не жалуюсь! Нет так нет, буду смотреть дальше ролики на Ютубе и искать книги... Рано или позно я решу эту задачу, просто думал с Грамотными Ребятами будет несколько быстрее...)

Автор - Catand76
Дата добавления - 05.07.2018 в 10:02
boa Дата: Четверг, 05.07.2018, 10:17 | Сообщение № 25
Группа: Друзья
Ранг: Ветеран
Сообщений: 563
Репутация: 167 ±
Замечаний: 0% ±

365
Catand76,
не обязательно выделять весь столбец или всю таблицу
достаточно выделить 1 ячейку в интересующем столбце

Set d0 = Selection(1) 'd0 - первая ячейка выделенного диапазона на листе


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


 
Ответить
СообщениеCatand76,
не обязательно выделять весь столбец или всю таблицу
достаточно выделить 1 ячейку в интересующем столбце
[vba]
Set d0 = Selection(1) 'd0 - первая ячейка выделенного диапазона на листе
[/vba]
означает, что макросу в качестве параметра будет передан адрес левой верхней ячейки.
и если пользователь выделит диапазон ячеек захватывающих несколько столбцов,, то все равно отсортирован будет только первый.

Автор - boa
Дата добавления - 05.07.2018 в 10:17
Catand76 Дата: Четверг, 05.07.2018, 10:24 | Сообщение № 26
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
boa, Файл - то о чем я и говорил..... Нельзя давать выбор пользователям....
Кнопка должна четко отрабатывать в определенной таблице, определенном столбце и на определенные условия сортировки.... Как я и говорил макрос слишком заморочен....
Я лучше сделаю 10 кнопок в каждой таблице и соответственно 10 одинаковых макросов (с разницей №Таблицы и №столбца), но любому будет ясно, что кнопка сработает именно в таблице в которой находится и никак иначе....
Прошу прощения, если мыслю как-то извращенно....
(Умная таблица - это объект, с которым можно работать и обращаться по уникальному имени (ну если я правильно понял суть VBA), так же как и столбец имеет уникальное имя для таблицы, и с ним можно также работать. То есть мне разобраться с именами проще, чем разбирать команды определения диапазонов, смежных ячеек и т.д. и т.п., чтоб прикрутить макрос к своему файлу)


Век живи - век учись

Сообщение отредактировал Catand76 - Четверг, 05.07.2018, 10:35
 
Ответить
Сообщениеboa, Файл - то о чем я и говорил..... Нельзя давать выбор пользователям....
Кнопка должна четко отрабатывать в определенной таблице, определенном столбце и на определенные условия сортировки.... Как я и говорил макрос слишком заморочен....
Я лучше сделаю 10 кнопок в каждой таблице и соответственно 10 одинаковых макросов (с разницей №Таблицы и №столбца), но любому будет ясно, что кнопка сработает именно в таблице в которой находится и никак иначе....
Прошу прощения, если мыслю как-то извращенно....
(Умная таблица - это объект, с которым можно работать и обращаться по уникальному имени (ну если я правильно понял суть VBA), так же как и столбец имеет уникальное имя для таблицы, и с ним можно также работать. То есть мне разобраться с именами проще, чем разбирать команды определения диапазонов, смежных ячеек и т.д. и т.п., чтоб прикрутить макрос к своему файлу)

Автор - Catand76
Дата добавления - 05.07.2018 в 10:24
_Boroda_ Дата: Четверг, 05.07.2018, 10:33 | Сообщение № 27
Группа: Админы
Ранг: Местный житель
Сообщений: 16913
Репутация: 6617 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
когда я учился в институте у нас был класс 3 машины IBM 386 и около 10 "Электроника МК-90"
Примерно также, как и у нас. Это совершенно неважно. А сразу освоить и не получится, это совершенно нормально

Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
Судя по третьей строчке, для сортировки данных надо ВЫДЕЛИТЬ ДИАПАЗОН
Не совсем так. Вы же файл не приложили (о чем я и написал:
Цитата _Boroda_, 05.07.2018 в 09:34, в сообщении № 21 ( писал(а)):
Catand76, мы так и будем за Вас примеры придумывать? Прочитайте уже Правила форума и выполните п.3 оттуда
, но Вы по-прежнему упорствуете), поэтому я предположил, что сортировку нужно делать по любому столбцу по выбору пользователя. А как выбрать столбец для сортировки? Очень просто - ткнуть мышой в любую ячейку этого столбца (или несколько ячеек выделить - сортировать будет по столбцу, в котором находится левая верхняя, об этом я уже писал в сообщении №9) и нажать кнопку сортировки. И направление сортировки Вы тоже не указали сначала, поэтому пришлось делать msgbox для этого выбора. И только более, чем через сутки, вдруг выясняется, что сортировать нужно столбец 3 по возрастанию, да еще и что там у Вас умная таблица.
Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
просто думал с Грамотными Ребятами будет несколько быстрее
Именно так. При нормальной постановке задачи, грамотном примере и подробном описании хотелок. Сравните
Цитата Catand76, 05.07.2018 в 10:24, в сообщении № 26 ( писал(а)):
Кнопка должна четко отрабатывать в определенной таблице, определенном столбце и на определенные условия сортировки
из последнего поста и
Цитата Catand76, 04.07.2018 в 07:37, в сообщении № 1 ( писал(а)):
Необходимо сортировать данные ТАБЛИЦЫ
из первого
Цитата Catand76, 05.07.2018 в 10:24, в сообщении № 26 ( писал(а)):
Как я и говорил макрос слишком заморочен
Извините, я больше так не буду


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
когда я учился в институте у нас был класс 3 машины IBM 386 и около 10 "Электроника МК-90"
Примерно также, как и у нас. Это совершенно неважно. А сразу освоить и не получится, это совершенно нормально

Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
Судя по третьей строчке, для сортировки данных надо ВЫДЕЛИТЬ ДИАПАЗОН
Не совсем так. Вы же файл не приложили (о чем я и написал:
Цитата _Boroda_, 05.07.2018 в 09:34, в сообщении № 21 ( писал(а)):
Catand76, мы так и будем за Вас примеры придумывать? Прочитайте уже Правила форума и выполните п.3 оттуда
, но Вы по-прежнему упорствуете), поэтому я предположил, что сортировку нужно делать по любому столбцу по выбору пользователя. А как выбрать столбец для сортировки? Очень просто - ткнуть мышой в любую ячейку этого столбца (или несколько ячеек выделить - сортировать будет по столбцу, в котором находится левая верхняя, об этом я уже писал в сообщении №9) и нажать кнопку сортировки. И направление сортировки Вы тоже не указали сначала, поэтому пришлось делать msgbox для этого выбора. И только более, чем через сутки, вдруг выясняется, что сортировать нужно столбец 3 по возрастанию, да еще и что там у Вас умная таблица.
Цитата Catand76, 05.07.2018 в 10:02, в сообщении № 24 ( писал(а)):
просто думал с Грамотными Ребятами будет несколько быстрее
Именно так. При нормальной постановке задачи, грамотном примере и подробном описании хотелок. Сравните
Цитата Catand76, 05.07.2018 в 10:24, в сообщении № 26 ( писал(а)):
Кнопка должна четко отрабатывать в определенной таблице, определенном столбце и на определенные условия сортировки
из последнего поста и
Цитата Catand76, 04.07.2018 в 07:37, в сообщении № 1 ( писал(а)):
Необходимо сортировать данные ТАБЛИЦЫ
из первого
Цитата Catand76, 05.07.2018 в 10:24, в сообщении № 26 ( писал(а)):
Как я и говорил макрос слишком заморочен
Извините, я больше так не буду

Автор - _Boroda_
Дата добавления - 05.07.2018 в 10:33
Catand76 Дата: Четверг, 05.07.2018, 10:42 | Сообщение № 28
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Цитата _Boroda_, 05.07.2018 в 10:33, в сообщении № 27 ( писал(а)):
И только более, чем через сутки, вдруг выясняется, что сортировать нужно столбец 3 по возрастанию, да еще и что там у Вас умная таблица.

Таблица1, Столбец[3] - это для примера, я думал неважно 1 или 3 столбец (условия применимы к любому столбцу таблицы1 (ну или Таблицы2) хоть к [3], хоть к [33]... - или я не прав?)

Пример как должно было бы работать (только на защищенном листе)....
Но вылезла новая проблема "Умная" Таблица при защите листа НЕ РАСШИРЯЕТСЯ при добавлении данных снизу ...
К сообщению приложен файл: 579175-1-4.xlsm (29.0 Kb)


Век живи - век учись

Сообщение отредактировал Catand76 - Четверг, 05.07.2018, 12:10
 
Ответить
Сообщение
Цитата _Boroda_, 05.07.2018 в 10:33, в сообщении № 27 ( писал(а)):
И только более, чем через сутки, вдруг выясняется, что сортировать нужно столбец 3 по возрастанию, да еще и что там у Вас умная таблица.

Таблица1, Столбец[3] - это для примера, я думал неважно 1 или 3 столбец (условия применимы к любому столбцу таблицы1 (ну или Таблицы2) хоть к [3], хоть к [33]... - или я не прав?)

Пример как должно было бы работать (только на защищенном листе)....
Но вылезла новая проблема "Умная" Таблица при защите листа НЕ РАСШИРЯЕТСЯ при добавлении данных снизу ...

Автор - Catand76
Дата добавления - 05.07.2018 в 10:42
Catand76 Дата: Четверг, 05.07.2018, 12:49 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Решил проблему - протягиванием умной таблицы на нужное количество строк, макрос "Сортировки" записал через "Запись макроса", поставил защиту и ВУАЛЯ все работает при блокировке листа.
Всем спасибо! Именно наш диалог натолкнул на мысль попробовать "Запись".... А остальное дело техники...
Еще раз СПАСИБО, что пытались понять проблему и помочь в ее решении....
К сообщению приложен файл: 579175-1-5.xlsm (31.1 Kb)


Век живи - век учись

Сообщение отредактировал Catand76 - Четверг, 05.07.2018, 12:51
 
Ответить
СообщениеРешил проблему - протягиванием умной таблицы на нужное количество строк, макрос "Сортировки" записал через "Запись макроса", поставил защиту и ВУАЛЯ все работает при блокировке листа.
Всем спасибо! Именно наш диалог натолкнул на мысль попробовать "Запись".... А остальное дело техники...
Еще раз СПАСИБО, что пытались понять проблему и помочь в ее решении....

Автор - Catand76
Дата добавления - 05.07.2018 в 12:49
boa Дата: Четверг, 05.07.2018, 12:54 | Сообщение № 30
Группа: Друзья
Ранг: Ветеран
Сообщений: 563
Репутация: 167 ±
Замечаний: 0% ±

365
Цитата Catand76, 05.07.2018 в 10:42, в сообщении № 28 ( писал(а)):
Но вылезла новая проблема "Умная" Таблица при защите листа НЕ РАСШИРЯЕТСЯ при добавлении данных снизу

что вам мешает предусмотрительно добавить строки без данных?


 
Ответить
Сообщение
Цитата Catand76, 05.07.2018 в 10:42, в сообщении № 28 ( писал(а)):
Но вылезла новая проблема "Умная" Таблица при защите листа НЕ РАСШИРЯЕТСЯ при добавлении данных снизу

что вам мешает предусмотрительно добавить строки без данных?

Автор - boa
Дата добавления - 05.07.2018 в 12:54
boa Дата: Четверг, 05.07.2018, 13:03 | Сообщение № 31
Группа: Друзья
Ранг: Ветеран
Сообщений: 563
Репутация: 167 ±
Замечаний: 0% ±

365
Catand76,
макрос для кнопки будет такой

Sub Кнопка1_Щелчок()
Range("B3").Select
Sortir
End Sub



а в коде, строку

    Set d = d.Offset(1).Resize(d.Rows.Count - 1)


замените на

    Set d = d.Offset(2).Resize(d.Rows.Count - 2)





Сообщение отредактировал boa - Четверг, 05.07.2018, 13:04
 
Ответить
СообщениеCatand76,
макрос для кнопки будет такой
[vba]
Sub Кнопка1_Щелчок()   Range("B3").Select   SortirEnd Sub
[/vba]

а в коде, строку
[vba]
    Set d = d.Offset(1).Resize(d.Rows.Count - 1)
[/vba]
замените на
[vba]
    Set d = d.Offset(2).Resize(d.Rows.Count - 2)
[/vba]

Автор - boa
Дата добавления - 05.07.2018 в 13:03
Catand76 Дата: Четверг, 05.07.2018, 13:31 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Цитата boa, 05.07.2018 в 13:03, в сообщении № 31 ( писал(а)):
Range("B3").Select

Я так понимаю "В3" - это ячейка из диапазона который нужно отсортировать...?


Век живи - век учись
 
Ответить
Сообщение
Цитата boa, 05.07.2018 в 13:03, в сообщении № 31 ( писал(а)):
Range("B3").Select

Я так понимаю "В3" - это ячейка из диапазона который нужно отсортировать...?

Автор - Catand76
Дата добавления - 05.07.2018 в 13:31
boa Дата: Четверг, 05.07.2018, 15:19 | Сообщение № 33
Группа: Друзья
Ранг: Ветеран
Сообщений: 563
Репутация: 167 ±
Замечаний: 0% ±

365
Catand76, совершенно верно
а 1-цы на2-ки поменял, потому, что шапка таблицы у вас заканчивается во 2-й строке.




Сообщение отредактировал boa - Четверг, 05.07.2018, 15:20
 
Ответить
СообщениеCatand76, совершенно верно
а 1-цы на2-ки поменял, потому, что шапка таблицы у вас заканчивается во 2-й строке.

Автор - boa
Дата добавления - 05.07.2018 в 15:19
Catand76 Дата: Пятница, 06.07.2018, 02:41 | Сообщение № 34
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
boa, ОГРОМНОЕ СПАСИБО.....
Сейчас немного разберусь с делами и начну ОПГРЕЙД файла....
Еще раз всем спасибо!!!!


Век живи - век учись
 
Ответить
Сообщениеboa, ОГРОМНОЕ СПАСИБО.....
Сейчас немного разберусь с делами и начну ОПГРЕЙД файла....
Еще раз всем спасибо!!!!

Автор - Catand76
Дата добавления - 06.07.2018 в 02:41
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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