Пользовательские формы и динамический просмотр таблицы, возможно ли это?

Пользовательские формы и динамический просмотр таблицы, возможно ли это?

Пример скриншота

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

Я попытался отфотошопить то, к чему стремился.

Я просто не знаю, может ли VBA динамически искать B2: B13, потому что темы могут меняться.

Ссылка на книгу: https://drive.google.com/file/d/1ST3a9i3hKCWDRnPb_167F2L547EisxT/view?usp=sharing

Заранее спасибо!


person Kevin Billings    schedule 04.09.2020    source источник
comment
Вы можете динамически добавлять элементы управления в пользовательскую форму во время выполнения: но я вижу нет никакого преимущества в использовании такой пользовательской формы по сравнению с прямым редактированием таблицы (поскольку она показывает точно такие же данные). Возможно, вы можете скрыть столбец D и заблокировать лист, кроме столбца C, где пользователи должны иметь возможность вводить данные. После экзамена просто позвольте вашему макросу показать столбец D, и вы сможете поставить оценки. Гораздо проще, чем пользовательская форма.   -  person Pᴇʜ    schedule 04.09.2020


Ответы (1)


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

Создание таблицы в Excel

Open the Excel spreadsheet.
Use your mouse to select the cells that contain the information for the table. 
Click the "Insert" tab > Locate the "Tables" group.
Click "Table". A "Create Table" dialog box will open. 
If you have column headings, check the box "My table has headers".
Verify that the range is correct > Click [OK].
Resize your columns to make the headings visible.

Также см. это:

https://exceljet.net/excel-tables

Или укажите ссылку на весь столбец/строку, а не на определенный диапазон, и используйте что-то вроде ИНДЕКС/ПОИСКПОЗ или что-то еще, что вам нужно.

person ASH    schedule 08.09.2020