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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка цветом диапазона ячеек во всех листах. (Макросы/Sub)
Заливка цветом диапазона ячеек во всех листах.
vdekameron Дата: Среда, 05.11.2014, 14:38 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Есть три листа с одинаковыми таблицами. Подскажите пожалуйста, можно ли ,залив красным цветом опр. диапазон ячеек в первом листе, распространить автоматически эту заливку на все имеющиеся листы в те же диапазоны.
Кидаю файл, если нужен.
К сообщению приложен файл: 6820915.xlsm (9.6 Kb)
 
Ответить
СообщениеЕсть три листа с одинаковыми таблицами. Подскажите пожалуйста, можно ли ,залив красным цветом опр. диапазон ячеек в первом листе, распространить автоматически эту заливку на все имеющиеся листы в те же диапазоны.
Кидаю файл, если нужен.

Автор - vdekameron
Дата добавления - 05.11.2014 в 14:38
Pelena Дата: Среда, 05.11.2014, 15:18 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19196
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Включите все три листа в группу (с помощью клавиш Shift или Ctrl), тогда всё что Вы делаете на одном листе будет отображаться на всех


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВключите все три листа в группу (с помощью клавиш Shift или Ctrl), тогда всё что Вы делаете на одном листе будет отображаться на всех

Автор - Pelena
Дата добавления - 05.11.2014 в 15:18
vdekameron Дата: Среда, 05.11.2014, 15:46 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, Дело в том, что мне нужно распространять на остальные листы только эту заливку, потому что данные в ячейках на листах будут разные. А если я сделаю как вы посоветовали, то абсолютно все будет так, как на первом.
 
Ответить
СообщениеPelena, Дело в том, что мне нужно распространять на остальные листы только эту заливку, потому что данные в ячейках на листах будут разные. А если я сделаю как вы посоветовали, то абсолютно все будет так, как на первом.

Автор - vdekameron
Дата добавления - 05.11.2014 в 15:46
Alex_ST Дата: Среда, 05.11.2014, 15:56 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
если я сделаю как вы посоветовали, то абсолютно все будет так, как на первом.
С чего бы это вдруг?
Если Вы, сгруппировав листы, меняете ТОЛЬКО оформление ячеек, то на листах только оформление и изменится. А данные не изменятся.
Вы хоть попробовали?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
если я сделаю как вы посоветовали, то абсолютно все будет так, как на первом.
С чего бы это вдруг?
Если Вы, сгруппировав листы, меняете ТОЛЬКО оформление ячеек, то на листах только оформление и изменится. А данные не изменятся.
Вы хоть попробовали?

Автор - Alex_ST
Дата добавления - 05.11.2014 в 15:56
AndreTM Дата: Среда, 05.11.2014, 16:00 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
я сделаю как вы посоветовали, то абсолютно все будет так,
Почему вы так решили? Если вы выделите список листов перед заливкой, а после заливки - сбросите выделение - то на всех листах повторится тольо заливка.
Или тогда подойдем с другого конца - вы вообще эту заливку как делаете? Руками? УФ? Кодом VBA?
Заливка должна быть именно определенных (одинаковых) диапазонов? Или всё же по каким-то условиям, зависящим от содержимого ячеек?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
я сделаю как вы посоветовали, то абсолютно все будет так,
Почему вы так решили? Если вы выделите список листов перед заливкой, а после заливки - сбросите выделение - то на всех листах повторится тольо заливка.
Или тогда подойдем с другого конца - вы вообще эту заливку как делаете? Руками? УФ? Кодом VBA?
Заливка должна быть именно определенных (одинаковых) диапазонов? Или всё же по каким-то условиям, зависящим от содержимого ячеек?

Автор - AndreTM
Дата добавления - 05.11.2014 в 16:00
krosav4ig Дата: Среда, 05.11.2014, 16:03 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
         Sheets(Array("Лист1", "Лист2", "Лист3")).Select
     Else
         ActiveSheet.Select
     End If
End Sub
[/vba]
при выборе любой ячейки или диапазона из B5:B30 с зажатым alt вносимые изменения будут отображаться на всех 3-х листах
К сообщению приложен файл: 5588406.xlsm (16.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[vba]
Код
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
         Sheets(Array("Лист1", "Лист2", "Лист3")).Select
     Else
         ActiveSheet.Select
     End If
End Sub
[/vba]
при выборе любой ячейки или диапазона из B5:B30 с зажатым alt вносимые изменения будут отображаться на всех 3-х листах

Автор - krosav4ig
Дата добавления - 05.11.2014 в 16:03
vdekameron Дата: Среда, 05.11.2014, 17:00 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, с зажатым alt я не могу вносить никакие изменения
 
Ответить
Сообщениеkrosav4ig, с зажатым alt я не могу вносить никакие изменения

Автор - vdekameron
Дата добавления - 05.11.2014 в 17:00
Alex_ST Дата: Среда, 05.11.2014, 17:25 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Казнить нельзя помиловать
:)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеКазнить нельзя помиловать
:)

Автор - Alex_ST
Дата добавления - 05.11.2014 в 17:25
vdekameron Дата: Среда, 05.11.2014, 17:25 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, попробовал как вы сказали, все получилось. Но мне нужен именно макрос. Т.е. залил одну ячейку красным и макросом распространить на остальные листы. Или я многого хочу? :(
 
Ответить
СообщениеAlex_ST, попробовал как вы сказали, все получилось. Но мне нужен именно макрос. Т.е. залил одну ячейку красным и макросом распространить на остальные листы. Или я многого хочу? :(

Автор - vdekameron
Дата добавления - 05.11.2014 в 17:25
AndreTM Дата: Среда, 05.11.2014, 17:29 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
залил одну ячейку красным и макросом распространить на остальные листы. Или я многого хочу?
Заливка должна быть именно определенных (одинаковых) диапазонов? Или всё же по каким-то условиям, зависящим от содержимого ячеек?
Из вас слова вытягивать клещами? :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
залил одну ячейку красным и макросом распространить на остальные листы. Или я многого хочу?
Заливка должна быть именно определенных (одинаковых) диапазонов? Или всё же по каким-то условиям, зависящим от содержимого ячеек?
Из вас слова вытягивать клещами? :)

Автор - AndreTM
Дата добавления - 05.11.2014 в 17:29
krosav4ig Дата: Среда, 05.11.2014, 17:34 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
vdekameron, зажали alt, выделили, опустили alt, внесли изменения/залили цветом, выделили любую другую ячейку


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеvdekameron, зажали alt, выделили, опустили alt, внесли изменения/залили цветом, выделили любую другую ячейку

Автор - krosav4ig
Дата добавления - 05.11.2014 в 17:34
vdekameron Дата: Среда, 05.11.2014, 17:44 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, Заливка не будет зависеть от содержимого ячеек. В первом листе из таблицы произвольно выбирается диапазон ячеек и заливается цветом. И потом нужно макросом распределить эту же заливку в этих же диапазонах ячеек на всех листах.
 
Ответить
СообщениеAndreTM, Заливка не будет зависеть от содержимого ячеек. В первом листе из таблицы произвольно выбирается диапазон ячеек и заливается цветом. И потом нужно макросом распределить эту же заливку в этих же диапазонах ячеек на всех листах.

Автор - vdekameron
Дата добавления - 05.11.2014 в 17:44
vdekameron Дата: Среда, 05.11.2014, 17:54 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Спасибо, получается, но если Название будет не Лист1 а например Пупкин, то уже не будет работать получается. Или если листов будет уже не 3 а 20 и названия будут разные.
 
Ответить
Сообщениеkrosav4ig, Спасибо, получается, но если Название будет не Лист1 а например Пупкин, то уже не будет работать получается. Или если листов будет уже не 3 а 20 и названия будут разные.

Автор - vdekameron
Дата добавления - 05.11.2014 в 17:54
krosav4ig Дата: Среда, 05.11.2014, 22:49 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
vdekameron, все листы однотипные, или есть листы, которые не должны изменяться?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеvdekameron, все листы однотипные, или есть листы, которые не должны изменяться?

Автор - krosav4ig
Дата добавления - 05.11.2014 в 22:49
krosav4ig Дата: Четверг, 06.11.2014, 00:38 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если нужно работать с листами к примеру с листами с 3 по 10 то код будет такой
[vba]
Код
Private Sub Workbook_SheetSelectionChange1(ByVal sh As Object, ByVal Target As Range)
       With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       Dim f&, l&, arr()
       f = 3: l = 10
       If sh.Index <= l And sh.Index >= f Then
           If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
               arr = Application.Transpose(Evaluate("=row(" & f & ":" & l & ")"))
               Sheets(arr).Select: sh.Activate: Target.Select
           Else
               sh.Select
           End If
       End If
       With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]
если со всеми листами то нужен 1 лишний лист в конце книги и код такой
[vba]
Код
Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)
       With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       Dim arr()
       If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
           arr = Application.Transpose(Evaluate("=row(1:" & Sheets.Count - 1 & ")"))
           Sheets(arr).Select: sh.Activate: Target.Select
       Else
           sh.Select
       End If
       With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 06.11.2014, 00:40
 
Ответить
Сообщениеесли нужно работать с листами к примеру с листами с 3 по 10 то код будет такой
[vba]
Код
Private Sub Workbook_SheetSelectionChange1(ByVal sh As Object, ByVal Target As Range)
       With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       Dim f&, l&, arr()
       f = 3: l = 10
       If sh.Index <= l And sh.Index >= f Then
           If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
               arr = Application.Transpose(Evaluate("=row(" & f & ":" & l & ")"))
               Sheets(arr).Select: sh.Activate: Target.Select
           Else
               sh.Select
           End If
       End If
       With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]
если со всеми листами то нужен 1 лишний лист в конце книги и код такой
[vba]
Код
Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)
       With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       Dim arr()
       If Not Intersect([B5:B30], Target) Is Nothing And GetAsyncKeyState(18) Then
           arr = Application.Transpose(Evaluate("=row(1:" & Sheets.Count - 1 & ")"))
           Sheets(arr).Select: sh.Activate: Target.Select
       Else
           sh.Select
       End If
       With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 06.11.2014 в 00:38
vdekameron Дата: Четверг, 06.11.2014, 12:29 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Вот пример. Будет примерно 30 листов и каждый со своим названием. Это реально чтобы все работало при изменении имен листов? Или код привязан жестко к именам? Прикрепляю пример файла
К сообщению приложен файл: 6020963.xlsm (31.1 Kb)
 
Ответить
Сообщениеkrosav4ig, Вот пример. Будет примерно 30 листов и каждый со своим названием. Это реально чтобы все работало при изменении имен листов? Или код привязан жестко к именам? Прикрепляю пример файла

Автор - vdekameron
Дата добавления - 06.11.2014 в 12:29
vdekameron Дата: Четверг, 06.11.2014, 12:32 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Может тогда так, как посоветовал AndreTM, только я не знаю как сделать макрос на эти действия
 
Ответить
Сообщениеkrosav4ig, Может тогда так, как посоветовал AndreTM, только я не знаю как сделать макрос на эти действия

Автор - vdekameron
Дата добавления - 06.11.2014 в 12:32
krosav4ig Дата: Четверг, 06.11.2014, 18:18 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
.
К сообщению приложен файл: 6230365.xlsm (34.6 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение.

Автор - krosav4ig
Дата добавления - 06.11.2014 в 18:18
vdekameron Дата: Четверг, 06.11.2014, 23:15 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Здорово, все работает. Я видел вы записали код в книгу. Извените за наглость, а можно этот код как то записать в кнопке, чтобы работало так- залил диапазон ячеек цветом, нажал на кнопку и произошло то,что делает ваш код. Я задаю этот вопрос не потому, что мне лень нажать alt и затем сделать это, а потому что из этих 30 человек далеко не все запомнят эти действия, особенно учитывая возраст некоторых.
 
Ответить
Сообщениеkrosav4ig, Здорово, все работает. Я видел вы записали код в книгу. Извените за наглость, а можно этот код как то записать в кнопке, чтобы работало так- залил диапазон ячеек цветом, нажал на кнопку и произошло то,что делает ваш код. Я задаю этот вопрос не потому, что мне лень нажать alt и затем сделать это, а потому что из этих 30 человек далеко не все запомнят эти действия, особенно учитывая возраст некоторых.

Автор - vdekameron
Дата добавления - 06.11.2014 в 23:15
vdekameron Дата: Пятница, 07.11.2014, 10:05 | Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Или как-то подобно. Чтобы минимум действий было
 
Ответить
СообщениеИли как-то подобно. Чтобы минимум действий было

Автор - vdekameron
Дата добавления - 07.11.2014 в 10:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка цветом диапазона ячеек во всех листах. (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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