2013-03-28 1 views
0

Я в очень странной ситуации в VBA. Я новичок в VBA и борюсь с парой дней в решении этой проблемы.Как заблокировать данные в ячейке, содержащей формулы, чтобы они не могли быть изменены в excel с помощью vba

Я хочу заблокировать верхние три строки и первые три столбца моего листа excel для редактирования. Однако эти ячейки содержат формулы, которые я не хочу, чтобы конечный пользователь редактировал и вносил изменения. Таким образом, в основном, мне нужно, чтобы ячейки выполняли все операции, но не должны редактироваться. Как можно, я делаю это в VBA. Я использую Excel 2010.

Еще одна вещь, у меня есть кнопка в верхних рядах ($B$2:$C$3), занимающая четыре ячейки. Эта кнопка назначается макросу, который выполняет задание по очистке содержимого во всех ячейках, за исключением ячейки, которую я намерен заблокировать. Короче говоря, в других ячейках пользователь может экспортировать данные из блокнота, и после этого формулы в заблокированной ячейке будут выполнять эту работу. Когда пользователь должен экспортировать новый набор данных, он будет указывать на кнопку, которая находится в ($B$2:$C$3), которая очищает существующие данные, и пользователь может ввести новый набор данных из блокнота.

Когда я использую

Worksheets("Sheet1").Range("B2:C3").Locked = False 

Worksheets("Sheet1").Protect UserInterfaceOnly:=True 

моя кнопка в ($B$2:$C$3) не работает должным образом. Любая помощь от кого-либо будет запрошена. Заранее большое спасибо.

+0

Пожалуйста, обратитесь к этой теме http://stackoverflow.com/questions/3037400/how-to-lock-the-data-in-a-cell-in-excel-using-vba – 2013-03-28 13:16:24

+0

Спасибо за ответ Сантош. Но проблема в том, что моя кнопка не работает с этим кодом. Вышеупомянутый код, который я упомянул в вопросе, взят с этой должности. –

+0

Когда вы говорите, что кнопка не работает, что вы имеете в виду? Кроме того, применяете ли вы защиту с UserInterFaceOnly каждый раз, когда вы открываете книгу? –

ответ

0

попробовать это:

Таблиц ("Лист1") Range ("B2: C3"). Locked = истина

Таблиц ("Лист1") Защитить UserInterfaceOnly:.. = True

который должен это сделать.

+0

Спасибо за ответ Philip .. Код по-прежнему не работает, после внесения изменений .. :( –

Смежные вопросы