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
этот макрос окрашивает выделенную ячейку в нужный цвет
вопрос следующий..как сделать чтобы после сохранения и закрытия файла на листе не оставалось закрашенных ячеек? после каждого закрытия файла выделенная ячейка закрашивается, а закрашивание не снимается если не удалить макрос
добрый день
на просторах интернета нашёл вот такой макрос:
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
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]
спасибо..работает
итоговый макрос получился такой:
[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