Страницы: 1
RSS
Vba изменение диапазона копирования
 
Здравствуйте. Есть проблема которую я ни как решить не могу, налндда только на вас. Есть файл который тянет из файлов в выбранной папке цифры наченаяЯ с 6 строки. Подскажите как изменить макрос так что бы можно было забрать цифры только начиная с седьмой строки строку со знаком вопроса не копируя, но при этом что бы была возможность вернуть все на исхолную .
 
Цитата
Lilzen написал: строку со знаком вопроса не копируя
Не нашел строк со знаком вопроса
Цитата
Lilzen написал: что бы была возможность вернуть все на исхолную
это как понять
Цитата
Lilzen написал: только начиная с седьмой строки
Замените в коде [A6] на [A7]
Согласие есть продукт при полном непротивлении сторон
 
Извините с телефона пишу просто очень не удобно... Макрос тянет цифры в таблицу из файлов находящихся в выбранной папке, сделать так что бы эта строка не попадала в таблицу при исполнении макроса, про исходную забудьте действительно глупость написал
 
Код А6 на А7 я менял это не помогает он все равно берет полный диапазон заполненных ячеек
 
Код
x.Sheets(1).[A6].CurrentRegion.Offset(1).Resize(n - 1).Copy
 
Не помогло ни чего не изменилось
 
Как же не изменилось?  8-0. Может так понятнее будет
Код
  x.Sheets(1).[A6].CurrentRegion.Offset(1).Resize(n - 1).Copy ThisWorkbook.Worksheets("Лист2").Cells(iLR, 5)  'Кординаты iLR

Согласие есть продукт при полном непротивлении сторон
 
И тут начались проблемы...( да все правильно он отрезает первую строку, но проблема в том что он их отрезает у всех файлов, а эта строка: ! 251 01 16 01 1122 есть только в первом файле. И удалить нужно только её (((( извините если я забыл об этом сказать убрать нужно только первую строку из первого файла
Изменено: Lilzen - 23.01.2017 16:49:46
 
Цитата
Lilzen написал: И удалить нужно только её
Почему? Чем она хуже других? В реальных данных ТАКАЯ строка может встретиться в других файлах? Она всегда будет ШЕСТОЙ? Ну и так далее...и тут начались проблемы с формулировкой вопроса
Согласие есть продукт при полном непротивлении сторон
 
Код
[A6].CurrentRegion.Offset(-([A6] Like "*!*")).Resize(n + ([A6] Like "*!*")).Copy

8)
 
Поясню дело в том что эти файлы это разбитый запрос sql который грузиться в одну таблицу и таких таблиц 10 а в заключении есть лист на который грузяться все цифры из 10 папок принадлежащие каждая своему листу, а эта строка ! 251 01 16 01 1122 служит как раз для разделения этих листов поэтому что бы она не грузилась в таблицу её нужно каким то образом убрать, и я не знаю как это сделать, помогите товарищи
 
И да это строка только шестая и только в файле Zap1 в каждой отдельной папке для разных таблиц. Т.е. без разницы к какой папке мы обращаемся... Там всегда есть файл zap1 в котором 6 строка это этот разделитель и он в таблицу попасть не должен
Изменено: Lilzen - 23.01.2017 17:08:16
 
Цитата
Lilzen написал: только шестая и только в файле Zap1
Ну это же в корне меняет дело :D!
Код
....................................
Set x = Workbooks.Open(p & f, local:=True)
        n = x.Sheets(1).[A6].CurrentRegion.Rows.Count
        If Not x.Name Like "Zap1*" Then
            x.Sheets(1).[A6].CurrentRegion.Copy ThisWorkbook.Worksheets("Лист2").Cells(iLR, 5)
        Else
            x.Sheets(1).[A6].CurrentRegion.Offset(1).Resize(n - 1).Copy ThisWorkbook.Worksheets("Лист2").Cells(iLR, 5)
        End If
    ThisWorkbook.Worksheets("Лист2").Cells(iLR, 15).Resize(n) = x.Name
....................................

Согласие есть продукт при полном непротивлении сторон
 
А куда вставлять этот код?!
 
Вы вообще "никак" в VBA? Первая и последняя строки в сообщении 13 в Вашем коде есть. На них и ориентируйтесь
Согласие есть продукт при полном непротивлении сторон
 
Ребят спасибо огромное все работает!!!))))
Страницы: 1
Наверх