|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2017, 00:59 | #1 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 53
|
Автоматическое определение даипазона в VBA (динамический диапазон)
Всем доброго времени суток.
Закончил колодвать над одной талицей, но начальству захотелось, чтобы все решалось нажатеим нескольких кнопок. Поэтому пришлось ортатиться к макросам, а так как я не силен в их написании (от слова совсем), то для меня остается только опция - ЗАПИСАТЬ МАКРОС и дальше уже колдовать в нем. Собственно создал один макрос. Но возникла проблема с динамическим диапазоном данных в таблице из которой подтягиваются данные для отчета (таблица данных). Количество столбцов в таблице данных фиксированное, а вот количество строк будет меняться. Вся информация в таблицу данных заноситься вручную методом копи/паст, так как скачивается с сайта по мере необходимости. Собственно сам макрос. Код:
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ) Модератор Проблема именно в диапозоне выделенным красном. В данном макросе я специально поставил такой диапозон, чтобы не прогадать. Необходимо, чтобы при запуске макроса, программа автоматически определяла диапозон, исходя из количества ячеек имеющих данные, в таблице данных. Последний раз редактировалось Serge_Bliznykov; 20.12.2017 в 09:39. |
19.12.2017, 02:27 | #2 |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
первое, что бросилось в глаза: море лишних действий:
Код:
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
19.12.2017, 02:30 | #3 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
Цитата:
Код:
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru |
|
19.12.2017, 21:01 | #4 | |
Пользователь
Регистрация: 12.05.2009
Сообщений: 53
|
Я понимаю, что много мусора. Но у меня он неизбежен, так как я только начинаю что-то делать в VBA. Пожтому и пользуюсь функцией записи макроса, а она пишет все подряд.
Я конечно чищу потом, но моих познаний не хватает чтобы качественно почистить((( Цитата:
|
|
19.12.2017, 22:07 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Без файла не сказать что лучше применить. Попробую угадать - может Range("$A$1").currentregion?
webmoney: E265281470651 Z422237915069 R418926282008
|
19.12.2017, 23:24 | #6 | |
Пользователь
Регистрация: 12.05.2009
Сообщений: 53
|
Цитата:
Пришлось потратить часик-два, но приобретные знания стоят гораздо больше Сейчас это выглядит так: Sub Sheets("D&R Website Manifest").Select Range("A1").CurrentRegion.Name = "WorkArea" ActiveSheet.ListObjects.Add(xlSrcRa nge, Range("WorkArea"), , xlYes).Name = "Table5" Range("Table5[#All]").Select ActiveSheet.ListObjects("Table5").T ableStyle = "TableStyleLight1" End Sub Спасибо всем кто откликнулся! |
|
19.12.2017, 23:43 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Возможно (да нет, точно ) красивее так:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
20.12.2017, 00:30 | #8 | |
Пользователь
Регистрация: 12.05.2009
Сообщений: 53
|
Цитата:
Но моих познаний в VBA пока не хватате понять - почему он ругается, когда я заменяю на предложенный Вами вариант. Продолжу ковыряться |
|
20.12.2017, 10:24 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я мало работал с этими листобъектами - может всёж ему (который ругается) нужно чтоб лист был активным... Без файла не проверить, писал вслепую.
webmoney: E265281470651 Z422237915069 R418926282008
|
20.12.2017, 19:13 | #10 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 53
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамический диапазон | kuperfbi | Microsoft Office Excel | 12 | 28.07.2010 12:57 |
Динамический диапазон по параметру | Maryver | Microsoft Office Excel | 2 | 25.05.2010 20:35 |
Динамический именованный диапазон | WIC | Microsoft Office Excel | 0 | 02.02.2009 12:09 |
Ссылка на динамический диапазон данных | NikolayGVB | Microsoft Office Excel | 2 | 13.01.2009 18:00 |
как просуммировать динамический диапазон | abocharov | Microsoft Office Excel | 8 | 22.10.2008 18:47 |