Страницы: 1
RSS
Объединение двух кодов VBA в один
 
Коллеги, помогите пожалуйста интегрировать второй код в первый, чтобы он стал продолжением первого скрипта.
По отдельности они работают, не могу понять как их объединить.
Буду очень признателен за помощь, вложил файл, в котором есть два куска которые хотелось бы соединить.
 
Так?

Код
Sub Притоки()               
    Dim ws                    As Worksheet               
    Dim wb                    As Workbook               
    Dim listObj               As ListObject               
                
    For Each ws In ActiveWorkbook.Worksheets               
        For Each listObj In ws.ListObjects               
            If listObj.ShowHeaders Then               
                listObj.AutoFilter.ShowAllData               
                listObj.Sort.SortFields.Clear               
            End If               
        Next listObj               
    Next ws         ' сняли фильтры если они есть, если их нет обнулили автофильтр               
                     
Sheets("Выгрузка_все_фонды").Select   'активировали нужный лист               
  ActiveSheet.ListObjects("Выгрузки_НРД_xml").Range.AutoFilter Field:=12, _               
        Criteria1:="<>0", Operator:=xlFilterValues   ' фильтранули нули               
           Range("L2").Select               
            Range(Selection, Selection.End(xlDown)).Select   ' выделили весь отфильтрованный столбец до конца               
        Selection.Copy               ' скопировали содержимое               
Set wb = GetObject("B:\Company\Книга.xlsx")
wb.Windows(1).Visible = True
Workbooks.Open Filename:="B:\Company\Книга.xlsx"
End Sub
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Нет так я пробовал ничего не выходит.
Переменная wb в первой части кода уже объявлялась: Dim wb As Workbook
Теперь задача сделать так чтобы макрос вставлял данные в новый файл, причем если файл закрыт, то макрос открывает  если файл уже открыт, то макрос не должен ругаться на это.
Я нашел на форуме код который отвечает за открытие книги в любом случае , открыта она или нет, но не могу теперь объединить со своим кодом, кто-то может помочь?
 
Цитата
Артем_81 написал:
Нет так я пробовал ничего не выходит.
Не выходит чего именно?

Цитата
Артем_81 написал:
Переменная wb в первой части кода уже объявлялась: Dim wb As Workbook
Ну и что? Она же нигде до этого в коде не использовалась. Переменная объявленная вначале может быть использована в любом месте кода

Цитата
Артем_81 написал:
сделать так чтобы макрос вставлял данные в новый файл, причем если файл закрыт, то макрос открывает  если файл уже открыт, то макрос не должен ругаться на это.
Хорошее желание. Только это не описано ни в название темы, ни в первом ее сообщении.
А те два куска которые вы хотите соединить не содержат подобной логики.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Не выходит то, что если я пытаюсь запустить макрос при открытой книге, то появляется ошибкка в строке (желтым выделяется строка -
Sheets("Выгрузка_все_фонды").Select   'активировали нужный лист

А надо чтобы книга если была открыта, то макрос не ругался...
Страницы: 1
Наверх