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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » указать в макросе диапазон ячеек - вся таблица (Макросы/Sub)
указать в макросе диапазон ячеек - вся таблица
micholap_denis Дата: Понедельник, 24.08.2020, 11:21 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WorkRange As Range, CrossRange As Range
Set WorkRange = Range("A13:BW100000")
If Target.Count > 1 Then Exit Sub

Application.ScreenUpdating = False
If Not Intersect(Target, WorkRange) Is Nothing Then
Set CrossRange = Intersect(WorkRange, Target.EntireRow) 'это окрас строк+столбец Set CrossRange = Intersect(WorkRange, Union(Target.EntireRow, Target.EntireColumn))
WorkRange.FormatConditions.Delete 'эта строка делает так, чтобы выделение не оставалось
CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1"
CrossRange.FormatConditions(1).Interior.ColorIndex = 17
Target.FormatConditions.Delete 'эта строка убирает заливку в активной ЯЧЕЙКЕ (она становится белой)
End If
End Sub
[vba][code]
[/vba][/code][/vba]
подскажите пожалуйста
имеется умная таблица к ней применил макрос, как в макросе приписать не диапазон а всю таблицу...при изменении таблицы (добавляются строки) диапазон тоже меняетс


Сообщение отредактировал micholap_denis - Понедельник, 24.08.2020, 11:24
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WorkRange As Range, CrossRange As Range
Set WorkRange = Range("A13:BW100000")
If Target.Count > 1 Then Exit Sub

Application.ScreenUpdating = False
If Not Intersect(Target, WorkRange) Is Nothing Then
Set CrossRange = Intersect(WorkRange, Target.EntireRow) 'это окрас строк+столбец Set CrossRange = Intersect(WorkRange, Union(Target.EntireRow, Target.EntireColumn))
WorkRange.FormatConditions.Delete 'эта строка делает так, чтобы выделение не оставалось
CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1"
CrossRange.FormatConditions(1).Interior.ColorIndex = 17
Target.FormatConditions.Delete 'эта строка убирает заливку в активной ЯЧЕЙКЕ (она становится белой)
End If
End Sub
[vba][code]
[/vba][/code][/vba]
подскажите пожалуйста
имеется умная таблица к ней применил макрос, как в макросе приписать не диапазон а всю таблицу...при изменении таблицы (добавляются строки) диапазон тоже меняетс

Автор - micholap_denis
Дата добавления - 24.08.2020 в 11:21
Hugo Дата: Понедельник, 24.08.2020, 11:33 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
[vba]
Код
Set WorkRange = Range("Таблица1")
[/vba] ну или как там её у Вас зовут.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение[vba]
Код
Set WorkRange = Range("Таблица1")
[/vba] ну или как там её у Вас зовут.

Автор - Hugo
Дата добавления - 24.08.2020 в 11:33
micholap_denis Дата: Понедельник, 24.08.2020, 11:39 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
спасибо.
 
Ответить
Сообщениеспасибо.

Автор - micholap_denis
Дата добавления - 24.08.2020 в 11:39
boa Дата: Понедельник, 24.08.2020, 12:58 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 550
Репутация: 167 ±
Замечаний: 0% ±

365
micholap_denis,
Хорошая статья про работу с умными таблицами


 
Ответить
Сообщениеmicholap_denis,
Хорошая статья про работу с умными таблицами

Автор - boa
Дата добавления - 24.08.2020 в 12:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » указать в макросе диапазон ячеек - вся таблица (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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