Sub Ìàêðîñ1() ' ' Ìàêðîñ1 Ìàêðîñ Set Sheet1_WS = Application.ThisWorkbook.Sheets(1) Sheet1_WS.Select finalrow = Sheet1_WS.Cells(Rows.Count, 2).End(xlUp).Row
For i = 6 To finalrow For j = 18 To 47 'tekzn = Sheet1_WS.Cells(j, i).Address tekzn = ActiveSheet.Cells(j, i) If tekzn > 1 Then Sheet1_WS.Cells(j, 55) = Sheet1_WS.Cells(1, i) End If Next j Next i End Sub
выделяет строку tekzn = ActiveSheet.Cells(j, i) и выдаёт ошибку 1004 application-defined or object-defined error причём в фоне видно, что сначала программа выполняется как надо и в нужных ячейках появляется то, что нужно, а потом всё пропадает и ошибка. Файлик прикладываю на яндекс диск, тут не умещается. Удалено. Нарушение Правил форума Господа, причём при попытке удалить строки, чтобы уменьшить его до 100 кб, ошибка перестаёт выскакивать и в итоге макрос удаляет всё что насоздавал в 55 столбце.
подскажите, собственно код:
Цитата
Sub Ìàêðîñ1() ' ' Ìàêðîñ1 Ìàêðîñ Set Sheet1_WS = Application.ThisWorkbook.Sheets(1) Sheet1_WS.Select finalrow = Sheet1_WS.Cells(Rows.Count, 2).End(xlUp).Row
For i = 6 To finalrow For j = 18 To 47 'tekzn = Sheet1_WS.Cells(j, i).Address tekzn = ActiveSheet.Cells(j, i) If tekzn > 1 Then Sheet1_WS.Cells(j, 55) = Sheet1_WS.Cells(1, i) End If Next j Next i End Sub
выделяет строку tekzn = ActiveSheet.Cells(j, i) и выдаёт ошибку 1004 application-defined or object-defined error причём в фоне видно, что сначала программа выполняется как надо и в нужных ячейках появляется то, что нужно, а потом всё пропадает и ошибка. Файлик прикладываю на яндекс диск, тут не умещается. Удалено. Нарушение Правил форума Господа, причём при попытке удалить строки, чтобы уменьшить его до 100 кб, ошибка перестаёт выскакивать и в итоге макрос удаляет всё что насоздавал в 55 столбце.best_vint
Во вложении файл с макросом на открытие книги. Код:
[vba]
Код
Private Sub Workbook_Open() Application.ScreenUpdating = False Dim wsSh As Object For Each wsSh In Me.Sheets If wsSh.Name = "Прочее" Then GoTo b If wsSh.Name = "Цель кредита" Then GoTo b wsSh.EnableOutlining = True If wsSh.Name = "Консолидация" Then GoTo a wsSh.Protect Password:="0000", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserinterfaceOnly:=True, AllowFormattingRows:=True, AllowFiltering:=True GoTo b a: wsSh.Protect Password:="0000", DrawingObjects:=False, Contents:=True, Scenarios:=True, UserinterfaceOnly:=True, AllowFormattingRows:=True, AllowAutoFiltering:=True b: Next wsSh Application.ScreenUpdating = True Application.CellDragAndDrop = False End Sub
[/vba]
Выдаёт ошибку 1004 на строке после a:
Подскажите, пожалуйста, в чём причина. Задача: заблокировать все листы кроме двух, а на одном из заблокированных оставить возможность редактирования объектов [moder]Создавайте свою тему. И Правила форума почитайте.
Во вложении файл с макросом на открытие книги. Код:
[vba]
Код
Private Sub Workbook_Open() Application.ScreenUpdating = False Dim wsSh As Object For Each wsSh In Me.Sheets If wsSh.Name = "Прочее" Then GoTo b If wsSh.Name = "Цель кредита" Then GoTo b wsSh.EnableOutlining = True If wsSh.Name = "Консолидация" Then GoTo a wsSh.Protect Password:="0000", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserinterfaceOnly:=True, AllowFormattingRows:=True, AllowFiltering:=True GoTo b a: wsSh.Protect Password:="0000", DrawingObjects:=False, Contents:=True, Scenarios:=True, UserinterfaceOnly:=True, AllowFormattingRows:=True, AllowAutoFiltering:=True b: Next wsSh Application.ScreenUpdating = True Application.CellDragAndDrop = False End Sub
[/vba]
Выдаёт ошибку 1004 на строке после a:
Подскажите, пожалуйста, в чём причина. Задача: заблокировать все листы кроме двух, а на одном из заблокированных оставить возможность редактирования объектов [moder]Создавайте свою тему. И Правила форума почитайте.Almost