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

Вход

Регистрация

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

 

= Мир MS Excel/Определение адресов каждой таблички на листе - Мир MS Excel

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

Excel 2010
Всем доброго здоровья!
Прошу помощи в непосильной для меня задачке!

Помогите определить адреса каждой таблички на листе (файл прилагаю)! Переборами по ячейкам, понимаю, можно - но может есть какой-то более быстрый способ?

Это надо для обработки данных в каждой маленькой табличке по отдельности - например для сортировки...
Таблички динамические

на борту Ехель 2016 х64

Заранее благодарю!
К сообщению приложен файл: 7962639.xlsm (12.2 Kb)


Век живи - век учись!

Сообщение отредактировал urlchik - Вторник, 12.03.2019, 17:13
 
Ответить
СообщениеВсем доброго здоровья!
Прошу помощи в непосильной для меня задачке!

Помогите определить адреса каждой таблички на листе (файл прилагаю)! Переборами по ячейкам, понимаю, можно - но может есть какой-то более быстрый способ?

Это надо для обработки данных в каждой маленькой табличке по отдельности - например для сортировки...
Таблички динамические

на борту Ехель 2016 х64

Заранее благодарю!

Автор - urlchik
Дата добавления - 12.03.2019 в 17:12
_Boroda_ Дата: Вторник, 12.03.2019, 17:50 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Проще всего было бы сделать все таблицы "умными", дать каждой свое имя и по нему обращаться
Поскольку они не умные, то проверяем на то, что первые 3 ячейки шапки объединены (можно на что-то другое, на что захотите)
Так находим таблицу 7
[vba]
Код
Sub tt()
    x_ = 7
    ad_ = Cells.Find(What:=x_, After:=Cells(1), LookIn:=xlValues, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Address
    If Range(ad_).MergeArea.Count = 3 Then
        d_ = Range(ad_).CurrentRegion.Address(0, 0)
    Else
        ad1_ = ad_
        Do
            ad_ = Cells.FindNext(After:=Range(ad_)).Address
            If ad1_ = ad_ Then Exit Do
            If Range(ad_).MergeArea.Count = 3 Then
                d_ = Range(ad_).CurrentRegion.Address(0, 0)
                Exit Do
            End If
        Loop
    End If
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПроще всего было бы сделать все таблицы "умными", дать каждой свое имя и по нему обращаться
Поскольку они не умные, то проверяем на то, что первые 3 ячейки шапки объединены (можно на что-то другое, на что захотите)
Так находим таблицу 7
[vba]
Код
Sub tt()
    x_ = 7
    ad_ = Cells.Find(What:=x_, After:=Cells(1), LookIn:=xlValues, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Address
    If Range(ad_).MergeArea.Count = 3 Then
        d_ = Range(ad_).CurrentRegion.Address(0, 0)
    Else
        ad1_ = ad_
        Do
            ad_ = Cells.FindNext(After:=Range(ad_)).Address
            If ad1_ = ad_ Then Exit Do
            If Range(ad_).MergeArea.Count = 3 Then
                d_ = Range(ad_).CurrentRegion.Address(0, 0)
                Exit Do
            End If
        Loop
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 12.03.2019 в 17:50
urlchik Дата: Вторник, 12.03.2019, 18:37 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Проще всего было бы сделать все таблицы "умными"


Интересный метод...

Такой файл формируется (или выгружается) какой-то программой, по сему и нет умных таблиц...

Плюсанул! Спасибо за вариант!

Мож еще кто идею подкинет!?


Век живи - век учись!

Сообщение отредактировал urlchik - Вторник, 12.03.2019, 18:37
 
Ответить
Сообщение
Проще всего было бы сделать все таблицы "умными"


Интересный метод...

Такой файл формируется (или выгружается) какой-то программой, по сему и нет умных таблиц...

Плюсанул! Спасибо за вариант!

Мож еще кто идею подкинет!?

Автор - urlchik
Дата добавления - 12.03.2019 в 18:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Определение адресов каждой таблички на листе (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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