-
Macros в Excel
Имам проблем.
Трябва от един екселски файл да копирам през макро модул таблицата в друг екселски файл. Автоматизираната процедура със запис на макро не върши работа, тъй като ми копира само структурата на таблицата, но не и съдържанието. Другият вариант е с редактора на Visual Basic, но там ми прави друг проблем.
Кодът е следния:
Sub Macros1 ()
Macros1, Macros
Macros on 03.7.2009 from Mrr
Range ("A5:T252").Select избирам обхвата на таблицата от файла, в който се намира
Selection.Copy маркирам и давам Copy
Application.Run ("Book1.xls") файла, в който се намира таблицата
Range ("A96").Select задавам от кой ред надолу да се изкопира в другия файл
ActiveSheet.Paste вмъквам я в активния лист на активния файл /този, в който искам да се копира/
End Sub
Проблемът е, че при така въведения код копира съдържанието на втория файл в самия него.. а не исканата таблица от първия във втория. Знам, че е съвсем елементарно, обаче някъде бъркам. Както и да го мъча, все нещо не правя както трябва. Та... моля за помощ :help
Благодаря!
-
Re:Macros в Excel
При мен (Excel2007) , по тоя начин:
Range("A5:T252").Select
Selection.Copy
Workbooks.Open Filename:="Book2.xlsx"
Range("A96").Select
ActiveSheet.Paste
се получава това което искаш.
Или пък така:
Range("A5:T252").Select
Selection.Copy
Workbooks.Open Filename:="Book2.xlsx"
Windows("Book2.xlsx").Activate
Range("A96").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
-
Re:Macros в Excel
Пак ми извежда, че файлът липсва. И по двата начина. Интересно.....
-
Re:Macros в Excel
Аз имам два тъпи въпроса:
По твоя метод не трябва ли да активираш 2-рия файл с Application.Run ("Book2.xls") вместо Book1.xls?
А да си обърнал внимание, че в решението на mitkos разширението на файловете е xlsx вместо xls?
-
Re:Macros в Excel
А дали файлът Book1.xls е в папката където ексела го търси?
-
Re:Macros в Excel
Разширенията са други, понеже го правя на 2003, а и такива файлове са ми дали. Както и да е, минах на 2007, но резултатът си е същия. Очевидно аз греша някъде и много искам да разбера къде. Иначе който и от двата да активирам, все ми дава, че липсват. А последният пост ме подсеща за вероятността програмата наистина да ги търси на точно определено място.... което признавам си, не го знаех. Само, че когато хората си получат файловете няма да ги слагат на точното място, нужно на Ексела, за да зареди макросите, нали? Всеки си представя как отваря файла, цъква и се изпълнява, който си иска макрос, без значение къде се намира файла.
-
Re:Macros в Excel
Book1.xls трябва да съществува (където и да е). Когато е отворен, ексела не го търси по папките (щото знае къде е), но все едно, преди това трябва да го има записан на диска. Тогава няма проблеми с местенето (добре е все пак да са в една папка), обаче, има определена последователност на записване, която трябва да се спазва. Ако след затваряне на 'активния' файл Book1.xls се запише на друго място (или премести), после 'активният' няма да го намери.
-
Re:Macros в Excel
Виж, а не е ли по-добре да я свършим тая работа по друг начин:
В Book2.xls на клетка A96 даваш десен щрак - paste special и цъкаш paste link? Така като отворят book2.xls ще си търси в същата директория (по подразбиране, може да се наглася) файл book1.xls да си вземе съдържанието на клетките оттам.
Щото, извинявай, ама по досегашните приказки съдя че лъжицата ти е малко голяма - това да минеш от 2003 на 2007 вместо просто да смениш в макросите на mitkos "xlsx" със "xls" просто ме утрепА!
-
Re:Macros в Excel
Файловете са на данъчните и искат да им се направят с макроси. И не съм казала, че от 2003 искам да копирам с макрос в 2007. А, че пробвах и на двете версии с един и същи резултат накрая.
-
Re:Macros в Excel