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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 14:34   #1
ermura
 
Регистрация: 12.05.2010
Сообщений: 3
По умолчанию Selection.Copy

Здравсвуйте!!!!
хочу с одного .xls документа cкопировать несколько Range ов и поставить в другой .xls док.

Range("G4") .Select
Selection.Copy
Workbooks.Open Filename:="P:\My Documents\temp.xls"
Range("A1") .Select
Range("A1") .PasteSpecial
Application.ThisWorkbook.Close SaveChanges:=True

Вот такой код тока копирует один Range.
Я хотел еще скопировать Range("L5") таких несколько

И скопированные данных нужно поставить слева на право в другом файле

Заранее благодарен
ermura вне форума Ответить с цитированием
Старый 12.05.2010, 15:27   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    Dim sh As Worksheet: Set sh = ActiveSheet    ' запоминаем активный лист

    ' ПутьКФайлу = ThisWorkbook.Path & "\temp.xls"
    ПутьКФайлу = "P:\My Documents\temp.xls"

    With Workbooks.Open(ПутьКФайлу)    ' открываем нужный файл
        .Worksheets(1).Range("A1") = sh.Range("G4")    ' вставляем данные
        .Worksheets(1).Range("D3") = sh.Range("L5")    ' вставляем данные
        .Worksheets(1).Range("F2") = sh.Range("E18")    ' вставляем данные
        ' ...
        .Close True    ' закрываем открытый файл с сохранением изменений
    End With
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 12.05.2010, 16:58   #3
ermura
 
Регистрация: 12.05.2010
Сообщений: 3
По умолчанию Spasibo bolshoe

Спасибо огрмное!!!!
Как сделать так что бы на втором файле temp.xls при каждой выполнении этого макроса он записывал вот так примерно

A B C D
1ee ff vv dd
2
3
4
5

1,2,3.. это каждый раз когда я выполняю макро
Спасибо огромное заранее!!!
ermura вне форума Ответить с цитированием
Старый 12.05.2010, 17:40   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    Dim sh As Worksheet: Set sh = ActiveSheet    ' запоминаем активный лист

    ' ПутьКФайлу = ThisWorkbook.Path & "\temp.xls"
    ПутьКФайлу = "P:\My Documents\temp.xls"

    With Workbooks.Open(ПутьКФайлу)    ' открываем нужный файл
        Dim НоваяСтрока As Range    ' ищем первую незаполненную ячейку в столбце А
        Set НоваяСтрока = .Worksheets(1).Range("A" & .Worksheets(1).Rows.Count).End(xlUp).Offset(1).EntireRow
        НоваяСтрока.Cells(1) = sh.Range("G4")    ' вставляем данные
        НоваяСтрока.Cells(2) = sh.Range("L5")    ' вставляем данные
        НоваяСтрока.Cells(3) = sh.Range("E18")    ' вставляем данные
        ' ...
        .Close True    ' закрываем открытый файл с сохранением изменений
    End With
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 13.05.2010, 08:33   #5
ermura
 
Регистрация: 12.05.2010
Сообщений: 3
По умолчанию Spasibo

Спасибо Вам большое!!!! Работает замечательно. Желаю удачи Вам.
ermura вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Selection.Paste agregator Microsoft Office Excel 2 17.11.2009 06:06
Selection - как объеденить??? Sensygirl Microsoft Office Excel 8 05.10.2009 18:03
Добавить слова в Selection viod Microsoft Office Word 3 08.06.2009 11:45
Selection.AutoFilter ZORRO2005 Microsoft Office Excel 4 04.02.2008 12:11
ВЫДЕЛЕНИЕ(SELECTION)???? ZORRO2005 Microsoft Office Excel 2 12.12.2007 16:52