Страницы: 1
RSS
очистка ячеек с сохранением защищенной инфрмации
 
excel, в ячейках введены формулы, часть ячеек защищены макросом.
на листе есть кнопка "очистить" на нее прописан код, согласно которого пользователь выбирает диапазон ячеек для очистки и следовательно очищает его. и вот тут возникает проблема: очищаются все данные из выбранных ячеек, в том числе и из защищенных.
Вопрос: можно ли сделать так, чтобы из защищенных ячеек не удалялась информация.
Наверное логично прописать проверку на наличие защиты в ячейках и игнорирование их от очистки, но у меня ни чего не получилось

код (очистить):
Private Sub CommandButton1_Click()
Dim xx
If Me.RefEdit1.Value = Error Then
MsgBox "Не выбран диапазон", vbExclamation, msgTitle
Exit Sub
End If
Range(Me.RefEdit1.Text).Value = Clear
xx = MsgBox("Очистка диапазона выполнена.", vbOKRetry, "информация")  
If xx = 1 Then: Unload UserForm2
If xx = 4 Then: Exit Sub
End Sub
Изменено: Ольга - 05.05.2013 14:28:37
 
Если вы желаете не очищать ячейки с формулами, то

Код
    For Each iCell In Selection
        If Not iCell.HasFormula Then
            If IsNumeric(iCell) Then
                iCell.ClearContents
            End If
        End If
    Next

 
Код
For Each iCell In Range(Me.RefEdit1.Text)
    If Not iCell.Locked Then iCell.Value = Empty
Next
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Ольга, а может использовать SpecialCells(xlCellTypeConstants, 23).ClearContents ? Формулы не затрагивает, только константы. У меня примера с RefEdit не нашлось, посмотрите с InputBox.
Изменено: Igor67 - 05.05.2013 20:04:17 (Рано кнопку отправить нажал:))
Страницы: 1
Наверх