Как да защитим или заключим стойностите на клетките въз основа на цвета на фона?
Да предположим, че имам голям работен лист и множество клетки са запълнени с различни цветове на фона, сега искам да заключа или защитя клетките въз основа на определен запълнен цвят, като например заключване или защита на всички клетки с червен цвят. Има ли добри методи за справяне с тази задача в Excel?
Защитете или заключете стойностите на клетките въз основа на цвета на фона с VBA код
Защитете или заключете стойностите на клетките въз основа на цвета на фона с VBA код
Например, искам да заключа и защитя всички червени клетки, за да попреча на други потребители да променят стойностите на тези клетки, следният VBA код може да реши тази задача вместо вас, моля, направете следното:
1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния код в Модули Window.
VBA код: Защитете или заключете стойностите на клетките въз основа на цвят:
Sub lockcellsbycolor()
'Updateby Extendoffice
Dim colorIndex As Integer
colorIndex = 3
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In ActiveSheet.UsedRange.Cells
Dim color As Long
color = xRg.Interior.colorIndex
If (color = colorIndex) Then
xRg.Locked = True
Else
xRg.Locked = False
End If
Next xRg
Application.ScreenUpdating = True
MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub
Забележка: В горния код номерът 3 в рамките на цветен индекс = 3 скрипт показва клетките с червен цвят, които искам да заключа, можете да го промените на друг цветен индекс, който искате да заключите.
3. След това натиснете F5 ключ за стартиране на този код и само клетките с червен цвят са били заключени, други клетки са отключени в използвания диапазон на активния лист, вижте екранната снимка:
4. Ако искате да ги защитите от промяна от други потребители, просто трябва да приложите Защита на листа функция за защита на този работен лист.
Съвети: За да получите номера на цветния индекс, можете да приложите следната дефинирана от потребителя функция:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!