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

Страницы: 1
VBA Runtime error 1004 на защищенном листе, GoalSeek - ошибка при включенной защите листа, при снятой защите все работает
 
Добрый день!
Небольшой код с GoalSeek работает исправно до тех пор, пока не ставлю защиту листа.
Пользователь может все поломать, вот и ставлю защиту, а компу нужно дать возможность изменять значения на заблокированных ячейках.
Может, есть какое-то заклинание на языке VBA, чтобы обойти защиту при работе макроса?

Или вообще проблема в чем-то другом...

P.S. Буду признательна за пояснения на русском языке, т.к. VBA - для меня пока абракадабра. Этот мелкий код долго писала))
VBA Печать в PDF нескольких копий одного листа с подстановкой разных данных
 
Уважаемые знатоки, помогите, пожалуйста.
Есть таблица, заполняемая пользователем. На основе введенных данных подбираются модели кондиционера, подсчитывается их кол-во
Есть лист вывода на печать, куда подставляются параметры, рисунки конкретной модели
Задача: распечатать PDF файл, состоящий из n страниц = n подобранных моделей.
1я страница: лист "На печать" с первой моделью и ее параметрами (если эта модель хоть раз встречается в таблице подбора)
2я страница: лист "На печать" со второй моделью и ее параметрами (если эта модель хоть раз встречается в таблице подбора)
...
n-я страница: лист "На печать" с n-й моделью и ее параметрами (если эта модель хоть раз встречается в таблице подбора)

Алгоритм:
Пользователь вводит данные, в таблице подбираются модели - реализовано
Определяется суммарное кол-во каждой модели (модель 200 - 2 шт, 300 - 1 шт и т.д.) - реализовано
Нажимаем кнопку "Печать" - кнопка готова))

Проверка первой модели 200: если их больше 0, то внесение всех необходимых данных в лист "На печать"
И вот тут не сама печать, но как бы запомнить лист в этом виде и подготовить к будущей печати.
Далее проверка модели 300... аналогично
Типа добавить к памяти лист с уже измененными данными
так пройтись по всем моделям (в действительности их за сотню в общей сложности)
И напечатать документ со всеми "запомненными" листами в один PDF файл

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

Такое вообще возможно?
Аналог ГПР с поиском ближайшего БОЛЬШЕГО значения в массиве, Поиск ближайшего большего значения в массиве по двум условиям
 
Уважаемые форумчане! Нужна помощь
Есть таблица значений (массив), необходимо по определенному значению найти в соответствующей строке/столбце два значения: больше и меньше заданного числа.
Т.е. первое условие - значение 1 определяет в какой строке/столбце искать (у меня сделаны два листа, на втором транспонированная таблица), а второе условие - по значению 2 найти числа меньше и больше в ранее определенной строке.
Меньшее значение находит функция ВПР/ГПР (ячейки G1 и G3), а вот большее (20,1 и 19,1 в моем примере) мне никак не получается ни из таблицы выудить с помощью ВПР/ИНДЕКС-ПОИСКПОЗ/ПРОСМОТР и т.д., ни от ранее полученного числа (меньшего) и поиском его в таблице, как ориентир для смещения.
Нашла, как вариант, ответ на свой вопрос на https://my-excel.ru/vba/poisk-znachenij-v-massive-v-excel.html (раздел "Поиск значения в строке Excel", п.4), но у меня почему-то не работает эта формула массива (в ячейке I1).
Тут описано, как вывести наименование соответствующей строки. Такой вариант подойдет, из него уже дальше получу значение в самой таблице. Но если есть прямой способ найти большее значение, было бы неплохо.

П.С.
Уже весь интернет облазила, но применимого к моей таблице примера не нашла, самой чего-то соображалки не хватает.
Думаю и про перемножение значений ЛОЖЬ/ИСТИНА в массиве с выявлением нулей и единиц, но как-то самой не дойти до правильной формулировки.
Перекрутила все формулы...
VBA Назначить одну команду всем кнопкам в диапазоне
 
Помогите, пожалуйста, новичку в VBA дописать код.
Посредством макроса у меня добавляется новая строка в таблицу (точнее копируется из другой таблицы), и в одну из ячеек добавляется кнопка, но этих строк в таблице может быть любое количество, в каждой будет кнопка (лучше даже вообще флажок поставить, чтоб галочку ставить, но тут и по оформлению у меня трудности, с кнопкой хоть получилось симпатично)
Мне нужно, чтобы при нажатии каждой такой кнопки вызывалось окно, UserForm готова.
Может это надо в отдельный Sub вынести?

На данный момент у меня выскакивает ошибка 13 Type mismatch
Код
Option Explicit
Dim List As Worksheet
Dim Glavnaya As Worksheet
Dim TablMoto As Range
Dim TablOper As Range
Dim NextFreeCell As Range

' Клик по кнопке ОК в UserForm "Oper"
Sub AddOper()
Set List = ThisWorkbook.Worksheets(2)
Set Glavnaya = ThisWorkbook.Worksheets(1)
Set TablOper = List.Range("A3").EntireRow
Set NextFreeCell = Glavnaya.Cells(Rows.Count, "A").End(xlUp).Offset(RowOffset:=1)
List.Range("B3:G3").ClearContents
' Вставка в таблицу введенных в форме "Oper" данных
List.Range("B3") = Oper.DTPicker1.Value
List.Range("C3") = Oper.TextBox2.Value
List.Range("D3") = Oper.ComboBox1.Value
List.Range("E3") = Oper.TextBox1.Value
' Копирование и вставка шаблона (строка из другой таблицы)
TablOper.Copy
NextFreeCell.PasteSpecial
' Добавление кнопки в добавленную строку в столбец 6
NextFreeCell.Cells(, 6).Activate
Dim obj As OLEObject
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
                    Left:=ActiveCell.Left, Top:=ActiveCell.Top, _
                    Width:=ActiveCell.Width, Height:=ActiveCell.Height)

' А вот тут я застопорилась. Надо, чтобы эта кнопка по клику вызывала UserForm "Poluch", но строк уже может быть несколько с этими кнопками. 
' А также нужно, чтобы выделилась эта же ячейка, в которой расположена кнопка, а лучше сразу соседняя справа
For Each obj In Glavnaya.Columns(6)
Poluch.Show
    Next
    Oper.Hide
End Sub
Изменено: Ксения П. - 12.09.2022 20:52:54
Страницы: 1
Наверх