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

Страницы: 1
Выбор диапазона ячеек макроса через userform/combobox
 
Цитата
ocet p написал:
Здесь вы должны объяснить, как надо сделать такой список. На каких критериях это должно основываться ?Должны ли они быть, например, все буквы алфавита, или, может быть, просто буквы столбцов из области "UsedRange", и т.д. ?Я не знаю, что вы намерены в этом отношении.Вы можете увидеть здесь недостатки "ComboBox" для таких операций, нормальное текстовое поле было бы намного лучше чтобы вводить в неё диапазон.Или может быть, например, комбинация "ComboBox" и "SpinButton", или метод Игоря Гончаренко ?
Если бы можно было использовать или как то связать метод Игоря Гончаренко с моей пользовательской формой, то было бы замечательно. Нет никакой принципиальности, что именно использовать. Текстовое поле вполне подойдет. Можно его разместить на пользов.форме?  
Выбор диапазона ячеек макроса через userform/combobox
 
Цитата
ocet p написал:
Вы изменили латинские названия листов на кириллицу ?
Да, простите. Тут уже понял. Лист должен был называться "lokalka" чтобы функция заработала. Она и заработала.
Теперь с диапазоном не понятно. Как его изменить? Он по умолчанию F10:F9999. При других значениях не считает
Выбор диапазона ячеек макроса через userform/combobox
 
Ігор Гончаренко, Уважаемый, я по моему в своих сообщениях изначально обозначил, что я с макросами только начал работать и не имею опыта. И тема называется не "напишите для меня проект целиком, а то я сам ничего не хочу делать и не понимаю", а конкретно по определенной задаче.

а что касательно:
Цитата
См. #2. там написано как выбрать диапазлн, чтобы запустить расчет в нем и нигде больше
это не решение задачи - это пример того, как еще больше меня запутать и переубедить меня в надобности создания той формы (пользовательской), с которой мне последующем будет удобно работать.
Выбор диапазона ячеек макроса через userform/combobox
 
Цитата
ocet p написал: Но где в какой строке кода ?   ... ) ?
Код
Sub Opora_Obed_RUN(shList$, rngDiap$)
    Dim yos&
    Dim rsltRng As Range, yach As Range
     
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
     
With Sheets(shList)   ' вот эта строка
        Set rsltRng = Intersect(.UsedRange, .Range(rngDiap))

Когда меняю диапазон то  ошибку выдает "выберите данные из списков"  когда запускаю с диапазоном F10:F9999 то выдает вот эту ошибку  "Subscript out of range"
Выбор диапазона ячеек макроса через userform/combobox
 
ocet p, ошибку выдает((    "Subscript out of range"
Выбор диапазона ячеек макроса через userform/combobox
 
ocet p, расчеты этого кода
1
2
Опора_Объед Application.Intersect( _
   .UsedRange, .Range("F10:F9999"))
будут производиться только на одном листе. В моем случае-примере  -  это лист "локалка". Остальные листы никак не будут (не должны быть) задействованы в данном расчете. Но чтобы подстраховаться, что это может не всегда будет столбец "F" и не всегда он будет начинаться с "F10" я и решил добавить  'ComboBox1' ("C").

Другими словами, Лист будет какой то один и столбец будет какой то один единственный. Мне нужно только выбрать какой это будет лист (локалка) и какой столбец (где у него начинается диапазон и где заканчивается) чтобы запустить этот код только там и нигде больше.  
Выбор диапазона ячеек макроса через userform/combobox
 
Цитата
ocet p написал:
1. Что было бы источником данных для этих "ComboBox" ?
У меня готовая таблица (как в примере) только без формул. Я запускаю макрос в своей уже готовой таблице, выбираю лист (к примеру "локалка") данные уже находятся на этом листе в ячейках "F10:F ..." - ну до конца таблицы (всегда по разному) и макрос мне проставляет формулы для этой таблицы по выбранному мною диапазону. Или я что то не понимаю? Источник данных - цифры в ячейках F
Цитата
ocet p написал:
2. Почему "выбирать" эти данные в "Combobox" а не вводить их вручную в одно или два поля типа "TextBox" ?
Просто мне показалось так удобнее. Если это проблематично сделать, то мне не принципиально чтобы это был Combobox.

Хотелось бы чтобы все было в одном месте (в одной польз. форме например) чтобы не путаться потом и не искать/вспоминать куда мне что вводить.
Выбор диапазона ячеек макроса через userform/combobox
 
Прошу прощения, видимо я все таки, что то не так объяснил.

Вот посмотрите пожалуйста на скриншот пользовательской формы и на вопросы по номерам
Номер 1 - В этом поле я хочу изменять диапазон  ячеек кода, который написан ниже (это основной вопрос по данной теме, что меня интересует)
Код
Опора_Объед Application.Intersect( _
    .UsedRange, .Range("F10:F9999"))  
например выбираю в окне "С" F10 в окне "ПО" F214. И получаю в итоге в коде  .UsedRange, .Range("F10:F214"))

Номер 2 - В окне "выберите лист с локалкой" тот лист, на котором я этот диапазон выбираю (этот диапазон нужен только для этого листа и ни для какого больше). В файле-примере этот лист называется "локалка".

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

Номер 4 - ну тут все понятно. Кнопка запуска расчета по заданным параметрам. В случае если параметры не внесены расчет не запускается.
Выбор диапазона ячеек макроса через userform/combobox
 
Цитата
ocet p написал: Поясните пожалуйста, это всегда должен быть диапазон "F10:F9999" или тоже какой-то другой внутри него ?
Это условный диапазон. Для разных таблиц он будет разный. Я хотел бы, чтобы его (диапазон) можно было бы изменять через меню пользовательской формы, чтобы каждый раз не лезть в код макроса.

Цитата
Ігор Гончаренко написал: у вас созрел план написания очень универсального кода
Код написали добрые форумчане. Я в макросах четвертый день. Поэтому пока особо не разбираюсь, что и как тут работает. Пытаюсь сделать удобную форму ввода данных для просчета макросом.

Цитата
(а как выбрать диапазон, я показал в сообщении выше)
Смысл в том, чтобы выбранный диапазон изменял значение этого кода:
Код
Опора_Объед Application.Intersect( _
    .UsedRange, .Range("F10:F9999"))  

Не принципиально будет ли это combobox или inputbox цель заключается в том, чтобы этот ***box находился на "пользовательской форме" и выполнял функцию описанную выше.

p.s. Если я в связи со своей неопытностью как то не так изъясняюсь, то уж простите)) могу только своими словами
Выбор диапазона ячеек макроса через userform/combobox
 
Я сделал простенький Userform для прикрепленного примера макроса, подскажите код чтобы через combobox выбирать диапазон ячеек, которые прописаны в модуле данного макроса.
Код
Опора_Объед Application.Intersect( _
     .UsedRange, .Range("F10:F9999"))  

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

Опора_Объед Application.Intersect( _
     .UsedRange, .Range("F10:F9999"))      -      вот этот код чтобы можно было выбирать через combobox.

И если вас не затруднит, это уже не касается этой темы... подскажите код для выбора листа, на котором этот диапазон будет выбираться. для этого так же присутствует combobox в моей форме.  
Быстро вставить формулу с изменяющейся опорной ячейкой. Последовательности нет.
 
Inexsu, благодарю. Если будут еще вопросы касательно этого макроса писать сюда или создавать новую тему?
Быстро вставить формулу с изменяющейся опорной ячейкой. Последовательности нет.
 
Прошу прощения, сразу не понял, что это макрос. Спасибо вам большое, очень выручили.

Еще один вопрос появился. Как можно изменить диапазон проставливаемых формул? Через редактор макроса?
Изменено: Baguza - 05.12.2019 19:56:28
Быстро вставить формулу с изменяющейся опорной ячейкой. Последовательности нет.
 
Inexsu, спасибо за ваш ответ. А можете рассказать как вы это сделали? Вы протянули эту формулу сразу на всю страницу или для каждого диапазона ставили новую формулу?
Быстро вставить формулу с изменяющейся опорной ячейкой. Последовательности нет.
 
Подскажите, есть ли способ быстро проставить формулы в данном прикрипленном примере.

Зеленая ячейка = желтая ячейка * синяя ячейка
Код
F11=E11×E10:F10 (объединенная ячейка)

Последовательности никакой нет. Ячейки столбца F должны получить произведение чисел приведенных в примере выше до обьединенной ячейки e22:f22. Далее начиная с f30 тоже самое.

Таблица большая и вручную проставлять каждую формулу занимает очень много времени.
Страницы: 1
Наверх