Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Не работает макрос, разрешающий группировку в защищенной книге
 
Добрый день, Дмитрий(The_Prist) Щербаков, !

Да, действительно, пользовалась Вашей статьей. Очень подробная, "для чайников" - с кодом все понятно, где размещать, только не сразу сообразила, что запускать код не нужно :)
После Вашего комментария, сохранила код без запуска, открыла книгу, и все сработало! Спасибо Вам огромное за подсказку!
Не работает макрос, разрешающий группировку в защищенной книге
 
Товарищи, добрый вечер!

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

Прочитала несколько тем на эту тему, нашла что это делается кодом. Нашла 2 его вариации, но использовать их не получается.

С формулами дружу хорошо, с VBA не дружу совсем. Делала по принципу "скопировать-вставить", но дальше возникает проблема, решение которой найти не смогла. Буду крайне признательна если поможете

Первый вариант когда:

Sub EnableOutlining()
Dim xWs As Worksheet
Set xWs = Application.ActiveSheet
Dim xPws As String
xPws = Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = True
End Sub

Пишу его в блоке "Эта Книга". Все отлично, выдает мне окошечко пароля, все работает пока не закроешь книгу.
Как только книгу открываешь заново, группировка не работает



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

Private Sub Workbook_Open()
   Dim wsSh As Object
   For Each wsSh In Me.Sheets
       ProtectShWithOutline wsSh
   Next wsSh
End Sub
Sub ProtectShWithOutline(wsSh As Worksheet)
   wsSh.Protect Password:="758", UserInterfaceOnly:=True
End Sub

Тоже пишу его в блоке "Эта Книга". И когда запускаю, он выдает мне окошко для создания макроса (скрин во вложении "Имя макроса").

Даю ему какое-то имя (или оно должно быть определенным?) и ничего не срабатывает - выдает мне новое окошко для кода (скрин во вложении "Окошко нового кода"), но если я вбиваю туда второй целиком вариант кода, выдает ошибку "Недопустимое использование ключевого слова".

Если вбиваю только одну строку кода (из второго блока, выдает ошибку 424

Подскажите, пожалуйста, что я делаю не так и как это сделать правильно?

Спасибо!
Изменено: Юлия - 09.12.2022 20:19:07
По городу найти нужную таблицу, а в ней по выручке определить компанию
 
Светлый, большое спасибо за помощь!
Изменено: Юлия - 23.09.2021 15:06:34
По городу найти нужную таблицу, а в ней по выручке определить компанию
 
IKor, я так и делаю, но чтобы этот поиск реализовать, нужно найти одну таблицу из 15. Для этого я и пытаюсь прикрутить смещение. Может, есть другое решение - надеюсь, решение найдется.
Спасибо за ответ!
По городу найти нужную таблицу, а в ней по выручке определить компанию
 
Заменила файл, добавила текст формулы на 2 страницу книги.
К сожалению, не могу даже равно добавить - эксель считает, что это не формула(((
Изменено: Юлия - 23.09.2021 13:33:40
По городу найти нужную таблицу, а в ней по выручке определить компанию
 
Добрый день, всесильные экселя!

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

ПРОСМОТРX(выручка;СМЕЩ(ПОИСКПОЗ(город;строка  с наименованиями городов на базовом листе;0);смещение до колонки с  данными по выручке;1;357;1)";СМЕЩ(ПОИСКПОЗ(город;строка с наименованиями  городов на базовом листе;0);смещение до колонки с наименованиями  компаний;1;357;1);"";0)

При пошаговом просмотре формулы ошибка в смещ(поискпоз).
Есть какой-то вариант как это можно сделать?
Заранее большое спасибо всем кто откликнется!
Изменено: vikttur - 23.09.2021 14:53:17
СМЕЩ не работает в массиве если параметры заданы формулой
 
Добрый день, всесильные экселя!

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

У меня 12 базовых таблиц одна за другой по столбцам, по принципу: город в ячейке, под ней таблица с данными. Таблицы одинаковые по структуре.

Из этих 12 таблиц должна быть найдена нужная по городу, и в ней по выручке найти название компании.
Я пишу:


ПРОСМОТРX(выручка;СМЕЩ(ПОИСКПОЗ(город;строка с наименованиями городов на базовом листе;0);смещение до колонки с данными по выручке;1;357;1)";СМЕЩ(ПОИСКПОЗ(город;строка с наименованиями городов на базовом листе;0);смещение до колонки с наименованиями компаний;1;357;1);"";0)


При пошаговом просмотре формулы ошибка в смещ(поискпоз).
Есть какой-то вариант как это можно сделать?



Заранее большое спасибо всем кто откликнется!
Изменено: Юлия - 23.09.2021 12:01:54
Обьединение нескольких списков без дубликатов с изменением перечня наименований в один по названию
 
Да, скорее всего, попробую подтянуть ручной нормализованный список через впр к базовому и дальше сводной.
Если бы не 800 наименований, совсем хорошо было бы:)
Обьединение нескольких списков без дубликатов с изменением перечня наименований в один по названию
 
Как раз собираюсь подружиться в ближайший месяц:) К сожалению, решение этой задачи столько не ждет. Придется пока грубо, некрасиво, через ВПР и руками. А как только разберусь, буду переделывать уже по человечески. Так что огромное Вам спасибо! Совсем скоро очень пригодится!
Обьединение нескольких списков без дубликатов с изменением перечня наименований в один по названию
 
Добрый день!

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

Ситуация следующая
Есть несколько (условно, 10) наборов, в которых прописаны наименования и количество. Позиции в этих наборах могут повторяться с разным количеством. Написание наименований может отличаться от набора к набору, без изменения сути. Вручную был создан список нормализованных названий.
Далее нам дается перечень этих наборов, объединенных в группы, которые нужно вытащить на отдельные листы.
Одна группа может объединять в себя несколько наборов.

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

Для примера сформировала файл, во вложении.

С VBA пока не дружу, поэтому сейчас хотела бы реализовать эту задачу в рамках возможностей эксель до программирования, если это возможно.
Буду безмерна благодарна за идеи реализации этой задачи.
Спасибо!
Изменено: vikttur - 23.06.2021 16:12:03
Страницы: 1
Наверх