Ребят, добрый день.
Выполняю макрос -> прекращается работа в экселе -> открывается новая пустая книга. Подскажите почему и как исправить, пожалуйста.
Выполняю макрос -> прекращается работа в экселе -> открывается новая пустая книга. Подскажите почему и как исправить, пожалуйста.
Код |
---|
Sub BG_pol() Dim iBeginRange As Object, lCalc As Long, lCol As Long Dim oAwb As String, sCopyAddress As String, sSheetName As String Dim lLastrow As Long, lLastRowMyBook As Long, li As Long, iLastColumn As Integer Dim wsSh As Object, wsDataSheet As Object, bPolyBooks As Boolean, avFiles Dim wbAct As Workbook Dim bPasteValues As Boolean Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual name_conso = ThisWorkbook.Name Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Rows(5).ClearContents Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Rows(6).Resize(1000).Delete Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Rows(7).ClearContents Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Rows(8).Resize(1000).Delete Workbooks(name_conso).Sheets("Поручительства_выданные").Rows(7).ClearContents Workbooks(name_conso).Sheets("Поручительства_выданные").Rows(8).Resize(1000).Delete Workbooks(name_conso).Sheets("Поручительства_полученные").Rows(8).ClearContents Workbooks(name_conso).Sheets("Поручительства_полученные").Rows(9).Resize(1000).Delete Workbooks(name_conso).Sheets("Прочие_обязательства").Rows(7).ClearContents Workbooks(name_conso).Sheets("Прочие_обязательства").Rows(8).Resize(1000).Delete Workbooks(name_conso).Sheets("Аккредитивы").Rows(7).ClearContents Workbooks(name_conso).Sheets("Аккредитивы").Rows(8).Resize(1000).Delete sSheetName = "БГ_получ_(в_пользу_группы)" If sSheetName = "" Then sSheetName = "*" On Error GoTo 0 bPasteValues = (MsgBox("Вставлять только значения?", vbQuestion + vbYesNo, "Excel-VBA") = vbYes) If MsgBox("Собрать данные с нескольких книг?", vbInformation + vbYesNo, "Excel-VBA") = vbYes Then avFiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", , "Выбор файлов", , True) If VarType(avFiles) = vbBoolean Then Exit Sub bPolyBooks = True lCol = 1 Else avFiles = Array(ThisWorkbook.FullName) End If 'Копирование нужных значений For li = LBound(avFiles) To UBound(avFiles) If bPolyBooks Then Set wbAct = Workbooks.Open(Filename:=avFiles(li)) Bookopenname = ActiveWorkbook.Name Else Set wbAct = ThisWorkbook End If lLastrowBG_pol1 = Workbooks(Bookopenname).Sheets("БГ_получ_(в_пользу_группы)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("БГ_получ_(в_пользу_группы)").Range(Workbooks(Bookopenname).Sheets("БГ_получ_(в_пользу_группы)").Cells(5, 2), Workbooks(Bookopenname).Sheets("БГ_получ_(в_пользу_группы)").Cells(lLastrowBG_pol1, 20)).Copy lLastrowBG_pol2 = Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Cells(lLastrowBG_pol2, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Rows(5).Copy lLastrowBG_pol3 = Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("БГ_получ_(в_пользу_группы)").Rows(6).Resize(lLastrowBG_pol3).PasteSpecial Paste:=xlPasteFormats lLastrowBG_pol4 = Workbooks(Bookopenname).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Range(Workbooks(Bookopenname).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(7, 2), Workbooks(Bookopenname).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(lLastrowBG_pol4, 21)).Copy lLastrowBG_pol5 = Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(lLastrowBG_pol5, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Rows(7).Copy lLastrowBG_pol6 = Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("БГ_выдан_(в_пользу_3их_лиц)").Rows(8).Resize(lLastrowBG_pol6).PasteSpecial Paste:=xlPasteFormats lLastrowBG_pol7 = Workbooks(Bookopenname).Sheets("Поручительства_выданные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("Поручительства_выданные").Range(Workbooks(Bookopenname).Sheets("Поручительства_выданные").Cells(7, 2), Workbooks(Bookopenname).Sheets("Поручительства_выданные").Cells(lLastrowBG_pol7, 23)).Copy lLastrowBG_pol8 = Workbooks(name_conso).Sheets("Поручительства_выданные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Поручительства_выданные").Cells(lLastrowBG_pol8, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("Поручительства_выданные").Rows(7).Copy lLastrowBG_pol9 = Workbooks(name_conso).Sheets("Поручительства_выданные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Поручительства_выданные").Rows(8).Resize(lLastrowBG_pol9).PasteSpecial Paste:=xlPasteFormats lLastrowBG_pol10 = Workbooks(Bookopenname).Sheets("Поручительства_полученные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("Поручительства_полученные").Range(Workbooks(Bookopenname).Sheets("Поручительства_полученные").Cells(8, 2), Workbooks(Bookopenname).Sheets("Поручительства_полученные").Cells(lLastrowBG_pol10, 23)).Copy lLastrowBG_pol11 = Workbooks(name_conso).Sheets("Поручительства_полученные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Поручительства_полученные").Cells(lLastrowBG_pol11, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("Поручительства_полученные").Rows(8).Copy lLastrowBG_pol12 = Workbooks(name_conso).Sheets("Поручительства_полученные").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Поручительства_полученные").Rows(9).Resize(lLastrowBG_pol12).PasteSpecial Paste:=xlPasteFormats lLastrowBG_pol13 = Workbooks(Bookopenname).Sheets("Прочие_обязательства").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("Прочие_обязательства").Range(Workbooks(Bookopenname).Sheets("Прочие_обязательства").Cells(7, 2), Workbooks(Bookopenname).Sheets("Прочие_обязательства").Cells(lLastrowBG_pol13, 22)).Copy lLastrowBG_pol14 = Workbooks(name_conso).Sheets("Прочие_обязательства").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Прочие_обязательства").Cells(lLastrowBG_pol14, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("Прочие_обязательства").Rows(7).Copy lLastrowBG_pol15 = Workbooks(name_conso).Sheets("Прочие_обязательства").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Прочие_обязательства").Rows(8).Resize(lLastrowBG_pol15).PasteSpecial Paste:=xlPasteFormats lLastrowBG_pol13 = Workbooks(Bookopenname).Sheets("Аккредитивы").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(Bookopenname).Sheets("Аккредитивы").Range(Workbooks(Bookopenname).Sheets("Аккредитивы").Cells(7, 2), Workbooks(Bookopenname).Sheets("Аккредитивы").Cells(lLastrowBG_pol13, 22)).Copy lLastrowBG_pol14 = Workbooks(name_conso).Sheets("Аккредитивы").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Аккредитивы").Cells(lLastrowBG_pol14, 2).PasteSpecial Paste:=xlPasteValues Workbooks(name_conso).Sheets("Аккредитивы").Rows(7).Copy lLastrowBG_pol15 = Workbooks(name_conso).Sheets("Аккредитивы").Cells(Rows.Count, 2).End(xlUp).Row + 1 Workbooks(name_conso).Sheets("Аккредитивы").Rows(8).Resize(lLastrowBG_pol15).PasteSpecial Paste:=xlPasteFormats If bPolyBooks Then wbAct.Close False Next li Application.ScreenUpdating = True Application.EnableEvents = True Application.Calculation = xlCalculationAutomatic End Sub |