Марокс для excel по защите строк - VB
Формулировка задачи:
Никто не подскажет, как сделать макрос, чтобы автоматически протектились ячейки определенного цвета?
Решение задачи: «Марокс для excel по защите строк»
textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> LockCells(<font color="blue">ByVal</font> pstrWorkSheet <font color="blue">As</font> <font color="blue">String</font>, <font color="blue">ByVal</font> pintColorIndex <font color="blue">As</font> <font color="blue">Integer</font>)
<font color="blue">Dim</font> objWorkSheet <font color="blue">As</font> Worksheet
<font color="blue">Dim</font> objCell <font color="blue">As</font> Range
<font color="blue">Set</font> objWorkSheet = ThisWorkbook.Worksheets(pstrWorkSheet)
<font color="blue">With</font> objWorkSheet
.Unprotect
<font color="blue">For</font> <font color="blue">Each</font> objCell <font color="blue">In</font> .UsedRange.Cells
objCell.Locked = objCell.Interior.ColorIndex = pintColorIndex
<font color="blue">Next</font> objCell
.Protect
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> CommandButton1_Click()
LockCells <font color="teal">"Sheet1"</font>, <font color="darkblue"><b>13</b></font>
<font color="blue">End</font> <font color="blue">Sub</font>