Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2011, 20:19   #1
Squarded
Пользователь
 
Регистрация: 23.07.2011
Сообщений: 20
По умолчанию Как вставить диапазоны ячеек из разных файлов в один, но так чтобы они шли один ниже другого?

Ещё раз здравствуйте!

В ходе написания кода для формирования файла печати, сталкнулся с такой проблемой. Суть в следующем:

Есть много однотипных файлов, число столбцов в которых неизменно, а число строк разное, поэтому беру CurrentRegion.Copy. Копируемые Диапазоны вставляются в файл Печать, начиная с ячейки а1.
Затруднение вызывает, то что из каждого файла копируемый диапазон должен вставляться в столбец А, но на следующую строчку после предыдущей вставки

Подскажите, пожалуйста, как будет выглядеть код для этого фрагмента процедуры
Squarded вне форума Ответить с цитированием
Старый 23.07.2011, 20:44   #2
Squarded
Пользователь
 
Регистрация: 23.07.2011
Сообщений: 20
По умолчанию

PS Добавил вложение
Вложения
Тип файла: rar Рабочий стол.rar (23.2 Кб, 17 просмотров)
Squarded вне форума Ответить с цитированием
Старый 24.07.2011, 15:56   #3
Squarded
Пользователь
 
Регистрация: 23.07.2011
Сообщений: 20
По умолчанию

Код:
 For i = coll.Count To 1 Step -1       
        Application.StatusBar = "Обрабатывается файл " & Dir(coll(i))
        Set wb = Workbooks.Open(coll(i))  
        Set sh = wb.Worksheets(1) 
        Set ra = sh.Columns("I:S").Select
                Selection.Delete Shift:=xlToLeft
        Set ra = sh.Columns("A:H").Select
                Selection.CurrentRegion.Select
                Selection.Copy
                Windows(pr).Activate
         prsh.Paste
         prsh.Range (a:a).SpecialCells(xlLastCell).Select
         ActiveCell.Offset(2, 0).Select

         wb.Close False      
    Next
вот набрасал код, но он не выпоняет то, что жирным,т.е не ищет последнюю ячейку в столбце A и не сдвигает активную ячейку на 2 строки вниз, помогите исправить, я только неделю с VBA работаю
Squarded вне форума Ответить с цитированием
Старый 24.07.2011, 19:03   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
не ищет последнюю ячейку в столбце A и не сдвигает активную ячейку на 2 строки вниз,
Код:
Sub Найти_и_сдвинуть()
Cells(Rows.Count, 1).End(xlUp).Offset(2, 0).Select
End Sub
вот этот кусок кода ищет и сдвигает
p.s.
Хотя все вот эти Select-ы вовсе необязательны
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 24.07.2011 в 19:05.
VictorM вне форума Ответить с цитированием
Старый 24.07.2011, 19:24   #5
Squarded
Пользователь
 
Регистрация: 23.07.2011
Сообщений: 20
По умолчанию

Спасибо! я понимаю, просто учусь еще, тяжело грамотно писать код
Squarded вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склеивание таблиц из разных файлов в один zenner Microsoft Office Excel 16 04.05.2011 23:11
Excel 2003 копирование из разных файлов в один mixaxa Microsoft Office Excel 11 28.05.2010 14:50
Задача на копирование ячеек из разных листов на один. hozpraktik Microsoft Office Excel 8 28.05.2010 10:00
несколько разных строк из разных файлов сформировать в один Иван123456 Microsoft Office Excel 3 30.07.2009 17:05
Копировать данные из разных ячеек по нескольким листам в один лист Dorvir Microsoft Office Excel 2 11.06.2008 10:10