Я пытаюсь удалить строку в неактивном защищенном рабочем листе через VBA. Без защиты удаление прекращается.Runtimeerror 1004 при попытке удалить строку в неактивном защищенном рабочем листе
я устанавливаю Worksheet-защиты в Workbook_Open-Sub:
Private Sub Workbook_Open()
Dim Password As String
Password = "123"
Dim myWorksheet As Worksheet
For Each myWorksheet In ThisWorkbook.Worksheets
myWorksheet.Protect Password:=Password, UserInterFaceOnly:=True
Next
ActiveWorkbook.Protect Password
End Sub
Ошибка генерируется в первой строке следующего кода:
Public Sub DeleteRow(Row As Integer)
Rows(Row).Delete
[...]
End Sub
Что я делаю неправильно ? Странно то, что я могу удалить строку в активной защищенной рабочей таблице. Пожалуйста, помогите мне!
Marco
'Я пытаюсь удалить строку в неактивном защищенном рабочем листе', но 'Rows (Row) .Delete' удаляет строку всегда в _active_ sheet. Чтобы удалить строку на другом листе, используйте 'ThisWorkbook.Worksheets (« sheet1 »). Строки (строка) .Delete' –
Субъект DeleteRow находится в объекте листа, где я хочу удалить строку. Таким образом, использование названия рабочего листа впереди, к сожалению, не имеет никакого значения. – Marco
попробуйте использовать его в стандартном модуле. –