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

Вход

Регистрация

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

 

= Мир MS Excel/Подсветка активной ячейки нужным цветом - Мир MS Excel

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

Excel 2016
добрый день

на просторах интернета нашёл вот такой макрос:

Public c, r, ci As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If c <> Empty And r <> Empty And ci <> Empty Then
Cells(r, c).Interior.ColorIndex = ci
End If
c = ActiveCell.Column
r = ActiveCell.Row
ci = Cells(r, c).Interior.ColorIndex
Cells(r, c).Interior.ColorIndex = 4 ' 4 - индекс цвета. 4-зелёный
End Sub

этот макрос окрашивает выделенную ячейку в нужный цвет

вопрос следующий..как сделать чтобы после сохранения и закрытия файла на листе не оставалось закрашенных ячеек?
после каждого закрытия файла выделенная ячейка закрашивается, а закрашивание не снимается если не удалить макрос
К сообщению приложен файл: podsvetka_jachejki.xlsm (16.5 Kb)
 
Ответить
Сообщениедобрый день

на просторах интернета нашёл вот такой макрос:

Public c, r, ci As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If c <> Empty And r <> Empty And ci <> Empty Then
Cells(r, c).Interior.ColorIndex = ci
End If
c = ActiveCell.Column
r = ActiveCell.Row
ci = Cells(r, c).Interior.ColorIndex
Cells(r, c).Interior.ColorIndex = 4 ' 4 - индекс цвета. 4-зелёный
End Sub

этот макрос окрашивает выделенную ячейку в нужный цвет

вопрос следующий..как сделать чтобы после сохранения и закрытия файла на листе не оставалось закрашенных ячеек?
после каждого закрытия файла выделенная ячейка закрашивается, а закрашивание не снимается если не удалить макрос

Автор - h1dex
Дата добавления - 13.05.2024 в 00:52
Апострофф Дата: Понедельник, 13.05.2024, 07:55 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 451
Репутация: 125 ±
Замечаний: 0% ±

Excel 1997
h1dex, попробуйте туда же один из макросов. А может и оба?

[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = CI
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = CI
End Sub
[/vba]


Сообщение отредактировал Апострофф - Понедельник, 13.05.2024, 07:57
 
Ответить
Сообщениеh1dex, попробуйте туда же один из макросов. А может и оба?

[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = CI
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = CI
End Sub
[/vba]

Автор - Апострофф
Дата добавления - 13.05.2024 в 07:55
h1dex Дата: Понедельник, 13.05.2024, 08:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
спасибо..работает

итоговый макрос получился такой:

[vba]
Код
Public c, r, ci As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If c <> Empty And r <> Empty And ci <> Empty Then
Cells(r, c).Interior.ColorIndex = ci
End If
c = ActiveCell.Column
r = ActiveCell.Row
ci = Cells(r, c).Interior.ColorIndex
Cells(r, c).Interior.ColorIndex = 4 ' 4 - èíäåêñ öâåòà. 4-çåëåíûé
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = ci
End Sub
[/vba]


Сообщение отредактировал h1dex - Понедельник, 13.05.2024, 08:30
 
Ответить
Сообщениеспасибо..работает

итоговый макрос получился такой:

[vba]
Код
Public c, r, ci As Integer
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If c <> Empty And r <> Empty And ci <> Empty Then
Cells(r, c).Interior.ColorIndex = ci
End If
c = ActiveCell.Column
r = ActiveCell.Row
ci = Cells(r, c).Interior.ColorIndex
Cells(r, c).Interior.ColorIndex = 4 ' 4 - èíäåêñ öâåòà. 4-çåëåíûé
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ci <> Empty Then ActiveCell.Interior.ColorIndex = ci
End Sub
[/vba]

Автор - h1dex
Дата добавления - 13.05.2024 в 08:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подсветка активной ячейки нужным цветом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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