Private Sub CommandButton2_Click()
Dim n_str, kol_strok As Integer, big_file, file_1, StatUstr As String
'kol_strok - число строк в загружаемом файле
'n_str - номер первой пустой строки
stolbs = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55) '51 колонка с данными
big_file = ActiveWorkbook.Name
Sheets("Недельное планирование").Select
ActiveSheet.Unprotect
n_str = WorksheetFunction.Count(Range("A:A")) + 16
FileToOpen = Application.GetOpenFilename(filefilter:="Файлы Excel(*.xlsm; *.xls; *.xlsx),*.xls; *.xlsx; *.xlsm", Title:="Выберите файл для загрузки")
Application.ScreenUpdating = False
On Error GoTo exit_
Application.EnableEvents = False
Workbooks.Open FileToOpen
file_1 = ActiveWorkbook.Name
Sheets("Недельное планирование").Select
ActiveSheet.Unprotect
Columns("A:BA").Select
Application.EnableEvents = True
On Error Resume Next
Selection.EntireColumn.Hidden = False
On Error Resume Next
Worksheets("Недельное планирование").ShowAllData
n_stolb = WorksheetFunction.CountA(Range("A15:DD15"))
If n_stolb <> 55 Then
Msg = MsgBox("Выбран некорректный файл" & Chr(13) & "Сбой.", vbOKOnly, "Внимание")
Windows(Format(file_1)).Close (SaveChanges = False)
GoTo exit_
End If
kol_strok = WorksheetFunction.Count(Range("A:A"))
inform = MsgBox("Перенести " & kol_strok & " работ в сводный план из " & Chr(13) & FileToOpen & " ?", vbYesNo, "Внимание")
If inform = vbNo Then
Windows(Format(file_1)).Close (SaveChanges = False)
Msg = MsgBox("Перенос отменен", vbOKOnly, "Внимание")
Sheets("Недельное планирование").Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowFiltering:=True
Sheets("Недельное планирование").Select
GoTo exit_
End If
|