Судя по комментариям выше, это звучит как Блокировка / Разблокировка ячеек с помощью VBA - ваш лучший вариант.Каждая ячейка на листе по умолчанию заблокирована, но блокировка не вступит в силу, пока вы не защитите лист.Когда вы создаете головоломку, разблокируйте определенные ячейки с помощью чего-то вроде:
ActiveSheet.Range("A1").Locked = False
После того, как вы сгенерировали головоломку, защитите лист с помощью:
ActiveSheet.Protect Password:="SomePassword", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True
Если в пределахмакрос, вам нужно снять защиту листа, вы должны использовать:
ActiveSheet.UnProtect Password:="YourPassword"