Exel как копировать ячейки в другую книгу

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Trusishka
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 02.07.2003 (Ср) 18:40
Откуда: Раменское

Exel как копировать ячейки в другую книгу

Сообщение Trusishka » 18.01.2005 (Вт) 18:33

Можно ли как-нибудь копировать всю информацию ячейки из одной книги в другую? Имеется ввиду чтобы переносилось все - формат, формулы, значения.

Но у меня сложная задача - переносить нужно несколько групп ячеек, которые выберет пользователь. Если можно кусочек кода :oops:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.01.2005 (Вт) 19:01

[пользователь выбрал]
Код: Выделить всё
selection.copy workbooks(2).worksheets(1).cells(1)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Trusishka
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 02.07.2003 (Ср) 18:40
Откуда: Раменское

Сообщение Trusishka » 18.01.2005 (Вт) 19:13

GSerg писал(а):[пользователь выбрал]
пользователь , нажимая на кнопочки выбирает "месяцы" , столбики с месяцами находятся с одном файле Excel, а их надо скопировать в другой файл Excel.

Как сделать Selected нужный ячеек?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 18.01.2005 (Вт) 19:31

Код: Выделить всё

    Range("A1:B2").Select 'Выбираем диапазон ячеек A1 - B2
    Selection.Copy 'Копируем




Код: Выделить всё

    Range("A1").Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=False ' Специальная вставка - ВСЕ - ок


Trusishka
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 02.07.2003 (Ср) 18:40
Откуда: Раменское

Сообщение Trusishka » 18.01.2005 (Вт) 19:55

сделал с твоим кодом , но не работает , ошибка "глобал файлед объект", может глянешь почему?


Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet

Dim FN As Integer
FN = FreeFile
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open(Text1.Text)
Set objSheet = objBook.Worksheets(1)

Range("A1:B2").Select 'Âûáèðàåì äèàïàçîí ÿ÷ååê A1 - B2
Selection.Copy

objBook.Close

FN = FreeFile
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open(Text2.Text)
Set objSheet = objBook.Worksheets(1)

Range("A1:B2").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False

objBook.Close

Pioneer
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 09.01.2005 (Вс) 22:00
Откуда: Dimitrovgrad

Сообщение Pioneer » 23.01.2005 (Вс) 20:29

попробуй открыть сразу два файла, а затем
Код: Выделить всё
application.Workbooks(1).Worksheets(1).Range("A1:B10").Copy Destination:=application.Workbooks(2).Worksheets(1).Range("A1:b10")

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 24.01.2005 (Пн) 13:50

Trusishka писал(а):сделал с твоим кодом , но не работает , ошибка "глобал файлед объект", может глянешь почему?


Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet

Dim FN As Integer
FN = FreeFile
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open(Text1.Text)
Set objSheet = objBook.Worksheets(1)

Range("A1:B2").Select 'Â&&&&&&& &&&&&&&& &&&&& A1 - B2
Selection.Copy

objBook.Close

FN = FreeFile
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open(Text2.Text)
Set objSheet = objBook.Worksheets(1)

Range("A1:B2").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False

objBook.Close



Вот смотри Range("A1:B2").Select 'Â&&&&&&& &&&&&&&& &&&&& A1 - B2
Selection.Copy


А ты попробуй так
Код: Выделить всё
objBook.Range("A1:B2").Select
Selection.Copy
[/code]

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 24.01.2005 (Пн) 13:52

Смотри, в том коде который ты выложил ты не ссылаешся на книгу которую открыл, и бейсик материться он же не пророк откуда ему знать с какой имено книгой ты хочешь работать.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 14

    TopList