Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Указать динамич. диапазон в макросе создания умной табл. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать динамич. диапазон в макросе создания умной табл. (Макросы/Sub)
Указать динамич. диапазон в макросе создания умной табл.
micholap_denis Дата: Вторник, 10.05.2022, 17:55 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 272
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Макросом создаются обычные таблицы, требуется из них сделать умные
Макрорекордер записал
[vba]
Код
Sub Макрос()
Application.CutCopyMode = False
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$6:$F$13"), , xlYes).Name = _
        "Таблица3"
    Range("Таблица3[#All]").Select
    ActiveSheet.ListObjects("Таблица3").TableStyle = "TableStyleMedium2"
End Sub
[/vba]
как указать динамический диапазон
К сообщению приложен файл: 111.xlsb(16.4 Kb)
 
Ответить
СообщениеМакросом создаются обычные таблицы, требуется из них сделать умные
Макрорекордер записал
[vba]
Код
Sub Макрос()
Application.CutCopyMode = False
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$6:$F$13"), , xlYes).Name = _
        "Таблица3"
    Range("Таблица3[#All]").Select
    ActiveSheet.ListObjects("Таблица3").TableStyle = "TableStyleMedium2"
End Sub
[/vba]
как указать динамический диапазон

Автор - micholap_denis
Дата добавления - 10.05.2022 в 17:55
micholap_denis Дата: Вторник, 10.05.2022, 21:53 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 272
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
вроде так получилось
[vba]
Код
Sub Макрос()
   ActiveSheet.Select
   Range(Selection, Selection.End(xlToRight)).Select
   Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlIes).Name = "Таблица3"
    Range("Таблица3[#All]").Select
    ActiveSheet.ListObjects("Таблица3").TableStyle = "TableStyleMedium2"
End Sub
[/vba]
 
Ответить
Сообщениевроде так получилось
[vba]
Код
Sub Макрос()
   ActiveSheet.Select
   Range(Selection, Selection.End(xlToRight)).Select
   Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlIes).Name = "Таблица3"
    Range("Таблица3[#All]").Select
    ActiveSheet.ListObjects("Таблица3").TableStyle = "TableStyleMedium2"
End Sub
[/vba]

Автор - micholap_denis
Дата добавления - 10.05.2022 в 21:53
122255555 Дата: Среда, 11.05.2022, 18:20 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

По мне проще через объявление переменной
[vba]
Код

Dim loTable As ListObject
Set loTable = ThisWorkbook.Worksheets(1).ListObjects("Таблица3")
With loTable
    .Range.Select
    .DataBodyRange.Select
    .HeaderRowRange.Select
    If .ShowTotals = True Then .TotalsRowRange.Select
End With
[/vba]
 
Ответить
СообщениеПо мне проще через объявление переменной
[vba]
Код

Dim loTable As ListObject
Set loTable = ThisWorkbook.Worksheets(1).ListObjects("Таблица3")
With loTable
    .Range.Select
    .DataBodyRange.Select
    .HeaderRowRange.Select
    If .ShowTotals = True Then .TotalsRowRange.Select
End With
[/vba]

Автор - 122255555
Дата добавления - 11.05.2022 в 18:20
bmv98rus Дата: Среда, 11.05.2022, 22:48 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3926
Репутация: 707 ±
Замечаний: 0% ±

Excel 2013/2016
По мне проще через объявление переменной
hands а теперь также просто делаем тоже но когда таблица еще не определена :D

micholap_denis, Select и Selection лишние можно без них, но основное даже не в этом. отправная точка это что?
Range(Selection, Selection.End(xlToRight)).Select - это подразумевает левый верхний угол таблицы, выделенный до запуска макроса.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
По мне проще через объявление переменной
hands а теперь также просто делаем тоже но когда таблица еще не определена :D

micholap_denis, Select и Selection лишние можно без них, но основное даже не в этом. отправная точка это что?
Range(Selection, Selection.End(xlToRight)).Select - это подразумевает левый верхний угол таблицы, выделенный до запуска макроса.

Автор - bmv98rus
Дата добавления - 11.05.2022 в 22:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указать динамич. диапазон в макросе создания умной табл. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!