Страницы: 1
RSS
копирование данных из одного файла excel в другой
 
Есть два файла, из одного файла копируются данные в другой. В файле который нужно скопировать несколько страниц. Данные копируются исходя из определенного условия. При открытие необходимо указать не только условия, но и путь к файлу из которого нужно брать данные.    
Вопросы:Что нужно прописать, что бы данные брались из разных листов.  
Как указать путь к файлу.  
Прикрепляю то что получается у меня. Архив распоковать на диск с, при открытии указывается 1.    
Я пишу подобное в первый раз и что то неважно получается, надеюсь на вашу помощь.
 
Оксана? А Вы не могли бы описать словами чего Вы хотите достичь?  
Если у Вас в папке всего 2 файла - можно организовать запуск и обращение ко второму для копирования без явного указания пути и имени.  
Не понятен сам замысел. Какие данные по каким условиям необходимо скопировать, и куда затем вставить. Чем различаются листы Доход1 и 2. И если возможно - небольшой пример данных и что должно получиться в итоге. Быстро не обещаю, но возможно смогу помочь:)
 
Файлы каждый раз будут разные, но структура файлов будет всегда одна, т.е. Данный файл (1.xls) будет заполнятся разными филиалами, а потом отправлятся в бухгалтерию. В файл книга1.xls будут копироваться данные по дням. Когда открываешь файл Книга1.xls он должен запрашивать день (т.е число, 1,2,3,4 и т.д.) и путь к файлу из которого нужно получить суммы на эту дату. В 1.xls на листах доход-1, доход-2, поступления, расход, филиалами указываются движения по статьям доход и расходов. Все это на разных листах, сделано для удобства филиалов, поскольку они в конце месяца сдают подписанный бумажный вариант, менять, к сожалению, этот файл нельзя. Надеюсь на вашу помощь.
 
Давайте по порядку.  
В какой файл мы копируем данные, какой является общим - 1.xls?  
Вам присылают суточные отчеты и Вы должны их внести в общий?  
Вы хотите выбирать файл - это значит Вы уже знаете с какого филиала данные и можете указать это явно? Т.е можете перейти на лист доход-1 или доход-2, что уже будет достаточно для указания места куда копировать (лист) данные, или необходим будет диалог для дополнительного выбора и указания целевого листа. Или же в самом исходном (присылаемом) файле есть метка, по которой можно определить от кого пришли данные (например номер филиала всегда в ячейке А3) и уже в макросе прописать выбор целевого листа без диалога с человеком?  
В присылаемых файлах есть дата отчета? В зависимости от даты копируемые данные меняются (расположение) Например Сначала в столбце В:В, потом С:С?  
И самое главное - размеры таблиц одинаковы?  
Т.е. если копирую со строки 6 до строки 80, вставляю данные с заданной строки - и они соответствуют по наименованиям операйций?  
ФУ как многа вопросов:))
 
Извините у меня видимо не совсем получается корректно объяснять.  
Попробую еще раз.  
1. Есть файл 1.xls, этот файл неизменный. Ежедневно он заполняется сотрудником филиала и отсылается в нашу бухгалтерию.    
Есть разные статьи затрат, которые сгруппированы по листам. Отчет в этом файле по дням. На странице Доход - 1, в 6 строке можно  
увидеть н-р, Итоги по дням с _1___ по __5___ число, и идет разбивка по дням 1,2,3,4,5.    
2. Есть файл книга1.xls, этот файл должен собирать данные с листов доход-1, доход - 2, поступление, расход с файла 1.xls в файл  
книга1.xls, но должен собирать данные только по определенной дате, например по 1. (т.е. копировать все суммы которые будут указаны для 1,  
на странице доход - 1 ячейки с L7:L72) и вставлять данные в книга1.xls в ячейку С6:С71.  
3. поскольку филиалов у нас много, то необходима возможность выбора файла из которого брать данные, т.е. файл 1.xls, может быть назван по разному, например березово.xls,но сама структура файла не меняется.  
4. посути мне нужно получить только суммы на определенный день, в книга1.xls данные размещаются только на одном листе и только один филиал.  
 
P.S. надеюсь нормально объяснила)))))))
 
Да теперь понятно, что-то типа кассовой книги по операциям за сутки:)  
Но еще есть просьба.  
это все в зависимости от даты, т.е ищем нужный столбец и  
доход - 1 ячейки с L7:L72 и вставлять данные в книга1.xls в ячейку С6:С71-не меняется.  
и если можно дальше по листам  
доход - 2  ячейки с L7:L72 -?  
Игорь67
 
доход-2 для 1 числа ячейки J4:J80, посути для каждого листа и числа придется отдельно писать.
 
Теперь, кажется, разобрался...  
Пока со временем туго:(( Или сохраните ссылку на данную тему и просматривайте ее, или дайте мыло - стукну когда выложу пример:)  
Возможно в выходные посижу.    
-------------  
....посути для каждого листа и числа придется отдельно писать  
---------------  
Попробуем Find(). Находим число/ячейку - foundRng.Collumn и получаем номер столбца. Дальше инструкция Range(Cells(7,foundRng.Collumn),cells(72,foundRng.Collumn) дает диапазон копирования:))  
В общем будем пробовать, уже подобрал пару макросов на основе которых планирую это реализовать:))
 
спасибо большое за участие, проблема решена!
 
Ну посмотрите мой вариант:)  
Что, зря Вас столько пытал.
 
Кстати, вчера что-то заклинило:) Пятница13  
Можно просто присваивать значения диапазонов друг другу.  
Т.е. строчки можно заменить  
                       'копируем и вставляем данные  
'                        .Range(.Cells(kRow + 1, iCol), .Cells(kRow + kol, iCol)).Copy  
'                        BazaSht.Range("C" & insertRow).PasteSpecial xlPasteValues  
 
'вариант замены:)  
                       BazaSht.Range("C" & insertRow).Resize(kol).Value = .Cells(kRow + 1, iCol).Resize(kol).Value
 
И еще, коротко.    
ИМХО после работы макроса мы получим желаемый результат, но вот сохранять эту книгу с макросами:( Может быть, так же макросом, создавать новую книгу и копировать в нее данные без формул и макросов?
 
To Igor67  
игорь подскажите пожалуйста  
если у меня стоит задача:  
1) выдает файл (файл с названием, например, "1.xls") сохраняю его и запускаю  
2) жму на кнопку "копировать шаблон с сервера"  
3)надо скопировать с сервака (или флеш) из файла лист "шаблон на серваке или флешке V3.2" лист с названием "Анализ PCY SCADa"  
 
вариант с диалоговым окном выбора пути - супер (с указанием в самом макросе пути по умолчанию)
 
{quote}{login=slade}{date=02.05.2010 12:44}{thema=}{post}To    
подскажите пожалуйста  
если у меня стоит задача:  
{/post}{/quote}  
 
slade, Вы нашли просто один из многих примеров копирования данных из файла в файл.  
Вашего вопроса к сожалению не понял;(  
Не могли бы Вы просто описать из каких ячеек в открываемом файле (источнике) надо брать данные и куда вставлять в общем файле.  
И у нас принято признаком хорошего тона свой вопрос задавать в своей теме.  
И обращение к конкретному человеку, если он не давно в теме и является автором специфического решения, - лучше не надо. Вероятность ответа и помощи от многих и более опытных форумчан может просто пройти мимо.
 
{quote}{login=Igor67}{date=02.05.2010 09:52}{thema=Re: }{post}{quote}{login=slade}{date=02.05.2010 12:44}{thema=}{post}To    
{/post}{/quote}  
И у нас принято признаком хорошего тона свой вопрос задавать в своей теме.  
И обращение к конкретному человеку, если он не давно в теме и является автором специфического решения, - лучше не надо. Вероятность ответа и помощи от многих и более опытных форумчан может просто пройти мимо.{/post}{/quote}  
Лучше и не скажешь!...
Я сам - дурнее всякого примера! ...
 
Спасибо, признателен за наставление.  
думал тема похожая (почти на всех форумах посещаемых мною, просят не создовать новых тем при наличии схожих названий)
 
{quote}{login=}{date=03.05.2010 12:16}{thema=}{post}Спасибо, признателен за наставление.  
думал тема похожая (почти на всех форумах посещаемых мною, просят не создовать новых тем при наличии схожих названий){/post}{/quote}  
"", пожалуйста авторизуйтесь. Таким образом Вы увеличите шансы получить ответ.  
Я принципиально анонимам помогать не буду.  
Или Вы не считаете ЭТО необходимым?
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=03.05.2010 12:41}{thema=Re: }{post}  
"", пожалуйста авторизуйтесь. Таким образом Вы увеличите шансы получить ответ.  
Я принципиально анонимам помогать не буду.  
Или Вы не считаете ЭТО необходимым?{/post}{/quote}KuklP, как Вы изменились с момента появления на Планете :-)  
Помнится, Вы помогали всем подряд нарушителям, а сейчас принципиальность! Мой респект!!!!
 
{quote}{login=Serge 007}{date=03.05.2010 08:07}{thema=Re: Re: }{post}{quote}{login=KuklP}{date=03.05.2010 12:41}{thema=Re: }{post}  
"", пожалуйста авторизуйтесь. Таким образом Вы увеличите шансы получить ответ.  
Я принципиально анонимам помогать не буду.  
Или Вы не считаете ЭТО необходимым?{/post}{/quote}KuklP, как Вы изменились с момента появления на Планете :-)  
Помнится, Вы помогали всем подряд нарушителям, а сейчас принципиальность! Мой респект!!!!{/post}{/quote}  
Так и есть. Даже не читаю. Серж, иронию понял.
 
KuklP  
простите великодушно, что вмешиваюсь в ваши дела, но может быть, сохраняя мир на планете, не обязательно открыто высказывать своё негативное отношение к человеку или вопросу, может просто тихонько сделать вид, что вы ничего не заметили,а?
Единственная причина для существования времени — чтобы все не случилось одновременно. А. Эйнштейн
 
Так и делаю. Вернее - стараюсь:-)"За мир на Планете!"
Я сам - дурнее всякого примера! ...
 
{quote}{login=Igor67}{date=13.11.2009 10:57}{thema=}{post}Ну посмотрите мой вариант:)  
Что, зря Вас столько пытал.{/post}{/quote}  
 
 
Здравствуйте!  
У меня похожая проблема.  
С разных листов надо суммировать расходы по статьям затрат и по месяцам.  
Кроме макросов, похоже ничего не подходит...
 
Если таблицы на листах одинаковы, достаточно формулы, например:  
='Лист1:Лист3'!A1
 
ребят я в макросах не шарю, помогите поңалуйста, есть 2 док-та в 1.xls есть поле "модель" и "моточасы" и в 2.xls "модель" и "моточасы" условие такое если модель в строке в 1.xls документе совпадает с моделью в строке в 2.xls то заполненное поле моточасы 1.xls скопироваться в пустое поле 2.xls  
Да и если ваңно то файлы на разных компах в локальной сетке
 
Можно без макросов - ВПР()  
Или с макросами (но не бесплатно) - http://hugo.nxt.ru/CompareFiles.Find.rar  
Или давайте пример в файлах (небольших) - может быть будет код именно индивидуальный...
Страницы: 1
Читают тему
Наверх