Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель 11.08.2024 от 10 августа 2024, 08:31

Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 08:31
Необходимо задать макрос, дабы с строки таблицы на другом листе(где данные расположены), получать данные в ячейки разных строк листа титульного.
У титульного листа есть номер, этот номер соответствует строке на другом листе.
В титульном листе есть ячейки которые соответствуют данным с строки другого листа.
То есть все данные для одного титульного номера берутся из одной строки табличного листа.

п.с. у меня есть рабочая таблица, но мне необходимо модернизировать и другие...

[ФАЙЛЫ ВАШИ ПОЛУЧЕНЫ - НЕТ НЕОБХОДИМОСТИ ВЫКЛАДЫВАТЬ ИХ ПОВТОРНО]
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 11:15
Может вам надо использовать Гугл или Яндекс-переводчик? В них пишите на своём языке, а затем переводите на русский.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 13:45
От души, ссылку дайте пожалуйста на ваш стендап.

Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 14:00
Дано:
Одна книга. Два листа, "титульный" и "таблица данных".
На "титульном" необходимо менять данные которые берутся с строк листа "таблица данных".
У меня имеется рабочий макрос, но необходимо распространить его на другие формы книг.

Прикладываю книгу. Лист "АОРПИ" ячейка 11F должна брать информацию с листа "спец" 2C, а макрос должен переключать строку с которой берётся информация.

*извиняюсь если непонятно написал ранее...и если сейчас стало не более ясно.

[ФАЙЛЫ ВАШИ ПОЛУЧЕНЫ - НЕТ НЕОБХОДИМОСТИ ВЫКЛАДЫВАТЬ ИХ ПОВТОРНО]
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 14:05
В предоставленном файле нет листов:
"титульный"
"таблица данных"
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 14:14
*рука - лицо

Их там и не будет ибо они в задаче. В файле пример рабочего макроса и листов куда его надо внедрить.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 14:33
Не знаю, как сделать ваш вопрос, спросите на другом форуме.
На этом форуме отвечаю только я.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 14:49
Так а что не понятно в моём вопросе, поясню с удовольствием.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 14:51
Для начала вам надо указать имена листов, с которыми надо работать.
Вы указали имена листов, но таких листов нет в предоставленном файле.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 15:08
в приложенном ранее файле (Пример.xlsm) есть рабочий макрос (лист "АОСР", берёт инфу с листа "Данные АОСР") например для ячейки 24B листа "АОСР" он берёт инфу с строки которую переключает макрос но столбец остаётся тем же - D.

необходим подобный макрос который для листа "АОРПИ" будет брать информацию с листа "спец", например для ячейки 11F листа "АОРПИ" брать информацию с выбираемой строки столбца "C".
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 15:21
Нужно скопировать данные из листа "спец" на лист "АОРПИ" из указанной строки?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 15:24
посмотрите как работает макрос на листе "АОСРы"

нужно переключать данные с листа "спец" в определённых ячейках листа "АОРПИ".
это для того чтобы не плодить невероятное количество листов, а сделать один который будет при переключении макроса брать информацию с таблицы.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 15:26
Может быть и без макроса можно сделать - с помощью формул.
Пользователь указывает на листе "АОРПИ" в F11 значение и на основе этого значения нужно извлечь данные из листа "спец"?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 15:32
В предоставленном файле нет макросов - сделано с помощью формул.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 15:46
*не работает макрос... когда работал он переключал строку с которой брались данные.

Верно, с помощью формулы, можно брать данные. Но как поступить в случае, когда необходимо сформировать "АОРПИ" для всех данных с листа "спец"... В этом и заковыка. То есть, один АОРПИ соответствует данным строки с листа "спец", а строк этих куча.
АОРПИ B25 == спец "строка"С
АОРПИ А13 == спец "строка"Е
АОРПИ F17 == спец "строка"D

и макрос переключает на нужную строку
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 15:56
Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

На листе "АОРПИ":
1) в F11 запишите значение из листа "спец" из столбца C;
2) в G11 вставьте формулу: =ПОИСКПОЗ(F11;спец!C:C;0)
3) в A13 вставьте формулу: =ИНДЕКС(спец!E:E;G11;1)
4) в F17 сделайте формат Общий или любой другой, кроме Текстовый, и вставьте формулу: =ИНДЕКС(спец!D:D;G11;1)
5) и т.д. для всех ячеек по аналогии.

Формула:
=ИНДЕКС(спец!D:D;G11;1)

спец!D:D - номера столбца на листе "спец", откуда извлечь данные;
G11 - для всех формул одинаковая;
1 - для всех формул одинаковая.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 16:21
что-то они не заработали... формат ячеек "общий" в ошибке пишет - недоступное значение.
не понял, а как будет происходить переключение данных?


*письма прочёл, исполню.
**рабочее время оканчивается, продолжу завтра...
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 16:25
В F11 запишите не формулу, а значение.

Цитата:
не понял, а как будет происходить переключение данных?

Переключение данных я не делал. Я предполагал, что пользователь будет указывать в F11 нужное значение вручную.
Или можно сделать в F11 выпадающий список.
Или вам надо, чтобы двигаться по всем строкам листа "спец" с помощью двух кнопок, как это сделано в вашем файле для других листов?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 16:29
В вашем случае вы вставили формулу в F11, но она не стала формулой, а осталась текстом.
Это связано с тем, что в F11 спереди автоматически подставился символ апостроф ('), удалите его и нажмите Enter.
И в F11 сделайте формат Общий, у вас стоит Текстовый. В Текстовом формате формулу остаются в виде текста.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 10 августа 2024, 16:44
ц."Или вам надо, чтобы двигаться по всем строкам листа "спец" с помощью двух кнопок, как это сделано в вашем файле для других листов?"

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

*формулы заработали. не углядел этот ' знак...
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 10 августа 2024, 18:05
Отправил вам файл на почту.
Скопируйте файл из сообщения к себе на компьютер - щёлкните по файлу правой кнопкой мыши - Свойства - поставьте галочку "Разблокировать".
Кнопки записывают значение в ячейку R11. Вы можете вручную писать номер нужной строки в R11.
Формулы я вставил только в эти ячейки:
F11
A13
F17

В остальные вставьте по аналогии.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 06:25
Всё работает!
Так там есть макрос?
Вас не затруднит разместить метод решения этой задачи?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 07:10
Да, в этом файле, который я выслал, есть макросы.
Где разместить?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 08:40
Не настаиваю конечно, но здесь же форум как раз для решения таких вопросов, тут и разместить. Просто лично мне хотелось бы разобраться как это самому можно сделать.
В любом случае - благодарю за помощь!
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 09:18
На этом форуме я файлы не выкладываю.
Задавайте вопросы, если у вас есть, для этого форум и сделан, чтобы задавать вопросы.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 13:54
Необходимо на другой лист, с другой таблицей перенести эту систему. Как это сделать?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 14:03
Скопируйте сначала кнопки на другой лист.
Для этого щёлкните по кнопке правой кнопкой мыши - Копировать - перейдите на другой лист - перейдите в ячейку, в которую нужно вставить кнопку, - Ctrl+V.
Напишите, после того, как сделаете.
Вы будете копировать кнопки внутри одной книги или в другую книгу?
Если внутри одной книги, то макросы кнопкам не надо назначать. Если в другую книгу, то потребуется и макросы скопировать и назначить макросы кнопкам.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 14:08
Скопировал, книга эта же. Формулы вписал в ячейки, без видимого результата.
Но необходимо будет и в другую перенести. В другую книгу сразу оба листа буду копировать.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 14:12
Формулы на другом листе ссылаются на ячейку R11:?
=ИНДЕКС(спец!C:C;R11;1)
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 14:16
полагаю что ссылаются, R11 меняется при нажатии на кнопки
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 15:44
Почему полагаете? Это можно точно посмотреть, вставьте сюда на форуму одн из ваших формул.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 16:06
При нажатии на кнопку на листе другой книги, формула попала туда с скопированным листом из файла полученного письмом, открывается тот файл, откуда лист копировался.

А на новом листе в книги полученной почтой, формула действует(R11 меняет значения) но в ячейки данные не подставляются.

не понимаю какую формулу вставлять, они все как были в присланном файле...

=ИНДЕКС(данные АОСР!C:C;R11;1)
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 16:10
Вы стали заполнять в той же книге другие два листа. Какую формулу вы вставили в той же самой книге на другой лист?
Про другую книгу - это отдельное обсуждение. Сначала вам надо сделать в имеющейся книге.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 16:11
Цитата:
=ИНДЕКС(данные АОСР!C:C;R11;1)

Эта формула неправильная. Если в названии листа есть пробел, то название листа окружается одинарными кавычками.
Название: Данные из листа таблицы в лист титульный.
Отправлено: Посетитель 11.08.2024 от 11 августа 2024, 16:45
Заработало. Просто переименовал лист, без пробелов.
Теперь как в другую книгу перенести?
Название: Данные из листа таблицы в лист титульный.
Отправлено: Администратор от 11 августа 2024, 17:47
Откройте две книги:
1) книга, в которой макросы
2) книга, в которую нужно скопировать макросы

Перейдите в VBA. Если не знаете, как то спросите. После этого напишите.