|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.03.2019, 12:57 | #1 |
Пользователь
Регистрация: 21.01.2019
Сообщений: 27
|
[VBA] Сведение двух таблиц макросом
Добрый день!
Помогите пожалуйста разобраться с макросом: У меня есть две таблицы. которые необходимо свести в список. В список необходимо вывести дату, время,не пустой статус из второй таблицы и погоду из первой. Пишу следующий макрос: Код:
В примере сокращенный вариант файла. Подскажите пожалуйста, в чем ошибка? Ведь я задала в условии выводить непустые значения из второй таблицы. |
22.03.2019, 13:37 | #2 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
ведь этим циклом: Цитата:
так как Вы хотите в результате пустые ячейки увидеть? да и вообще не понимаю, зачем цикл вкладывать в цикл. так. стоп. может я не понимаю, что нужно получить в результате! вот вы получаете: Цитата:
Последний раз редактировалось Serge_Bliznykov; 22.03.2019 в 13:41. |
|||
22.03.2019, 13:58 | #3 | |
Пользователь
Регистрация: 21.01.2019
Сообщений: 27
|
Цитата:
Дата Время Погода Статус 01.04.2019 10:20 Облака Вышел 01.04.2019 18:20 Солнце Вышел 01.04.2019 22:20 Облака Вышел 02.04.2019 10:20 Облака Вышел 02.04.2019 18:20 Дождь Не вышел 02.04.2019 22:20 Дождь Вышел То есть если в правой таблице первого числа есть статус, то мы его пишем в статус, время, пишем погоду из первой таблицы, которая соответствует этому времени и этому статусу, и дату. То есть цикл по сути нужен только по второй таблице, но тогда не понимаю как с помощью макроса свести статус и соответствующую погоду. |
|
22.03.2019, 14:15 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так. я понял, что Вам надо!
Вас интересуют только те строчки, у которых по заданной дате статус не пустой. т.е. у 1-го числа это три строки: 3, 7 и 9 (адресация Excel) в первой и второй таблице столбцы всегда совпадают (и там и там даты подряд, без пропусков и повторов)? |
22.03.2019, 14:19 | #5 |
Пользователь
Регистрация: 21.01.2019
Сообщений: 27
|
Сергей,
Да все верно. Таблицы по дате всегда совпадают, без пробелов/пропусков/повторов. Спасибо) |
22.03.2019, 14:25 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
попробуйте такой код:
Код:
|
22.03.2019, 14:41 | #7 |
Пользователь
Регистрация: 21.01.2019
Сообщений: 27
|
Сергей,
Большое спасибо, все суперски работает. Подскажите пожалуйста, можно ли ColumnOffset переименовать в Y к примеру, или это название функции? И что нам дает знак % в Dim i%? Спасибо) |
22.03.2019, 15:11 | #8 |
Пользователь
Регистрация: 21.01.2019
Сообщений: 27
|
Сергей, еще возник вопрос, можно ли как то добавить второй ColumnOffset , если нужно добавить данные еще из третьей таблицы?
Пытаюсь сделать так: Код:
Код:
Эту переменную можно как то размножить? |
22.03.2019, 15:25 | #9 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
y - я не люблю однобуквенные имена. это допустимо для переменных цикла i,j ну, ещё размерность N ну массив A а всё остальное лучше называть так, чтобы было понятно, что это за переменная и для чего она нужна. например, iLastRow хранит номер последней строки. ColumnOffset - хранит смещение для колонки (смещение от 1-таблицы до 2-й) а что хранит y - не понятно. Но это ваше дело - именуйте так, как Вам нравится когда Вы пишете Цитата:
Лучше объявлять переменные именно того типа, с каким планируется их использовать Например, в данном случае это целочисленный тип Код:
Код:
см. https://docs.microsoft.com/ru-ru/dot...ype-characters |
||
22.03.2019, 15:28 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сведение 2-х таблиц формулой | Valat11 | Microsoft Office Access | 3 | 10.10.2018 14:28 |
сведение данных из разных таблиц в одну | SingleSpart | Microsoft Office Excel | 2 | 04.08.2009 17:04 |
Сведение нескольких таблиц в одну | Sega | Microsoft Office Excel | 3 | 05.08.2008 15:21 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 09.01.2008 07:20 |
Сведение таблиц | Funky_man | Microsoft Office Excel | 1 | 08.01.2008 03:36 |