|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.07.2011, 18:45 | #1 |
Регистрация: 14.07.2011
Сообщений: 6
|
как проверить сущестуют ли файлы xls с известными именами в папке и произвести изменения в них?
Здравствуйте! моя работа практически целиком сводится к копипастингу, и практически не остается времени на анализ информации. Если не трудно, то помогите чайнику пожалуйста
Ситуация такая: есть файл "отчет" по дням, в нем листы с названиями дней раб недели, 01.07 к примеру. на каждый лист заносится информация из xls файлов, которые лежат в папках обозванных как листы файла "отчет". Названия файлов известы, их около ста мне необходимо сделать, чтобы осуществлялась проверка существования файла с заданным именем в папке, если файл (допустим "МДМ.xls") существует, то в него заносится диапазон ячеек из файла "ЛИСТ1", затем в нем выделяется диапазон ячеек, копируется и заносится Специальной вставкой в файл "отчет" на лист с соответствующей датой в яцейку напротив имени файла ("МДМ.xls"). после этого все файлы закрыть и сохранить изменения можно ли такое сделать? заранее огромнейшее спасибо!!! |
14.07.2011, 18:57 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Макрос - и всё будет выполняться за несколько секунд нажатием одной кнопки. Цитата:
Ну и желательно, чтобы вы на примере показали, что и куда должно копироваться. |
||
14.07.2011, 19:28 | #3 | |
Регистрация: 14.07.2011
Сообщений: 6
|
Цитата:
Спасибо за отклик!!! |
|
15.07.2011, 19:35 | #4 |
Регистрация: 14.07.2011
Сообщений: 6
|
EducatedFool, здравствуйте!!!
С работы файлы забрать не возможно, я вот накидала пример вот ссылка http://ifile.it/wd6ytfi Суть в следующем в файле Лист Реквезит нужно скопировать выделенный желтым диапазон ячеек, затем проверить существуют ли файлы xls в папке "Детализация" из папки 01 с Именами Ивано, Петров, Сидоров, Гагарин (на деле их намного больше но число наименований одинаковое каждый день), если файлы существуют, то открыть их, вствить копированный диапазон ячеек во все файлы, сохранить их. Затем в файлах в фапке "Детализация" проверить если какая-нибудь ячейка из 4х спрва от слова итого пуста (выделино красным в примере), то записать в нее цифру 0. Потом выделить в каждом файле диапазон из 4х ячеек справа от слова Итого (в примере обозначены жирным прямоугольником), копировать его и вставить в Файл Отчет в нужный день в ячейкусправа от именем файла Специальной Вставкой, все файлы из папки Детализация закрыть, сохранить файл Отчет, но не закрывать его и так для каждого дня вот . можно ли такой макрос сделать? |
16.07.2011, 11:55 | #5 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
Вам в пору задуматься о правильной организации хранения и сбора информации. С уважением Дмитрий.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
16.07.2011, 14:06 | #6 | |
Регистрация: 14.07.2011
Сообщений: 6
|
Цитата:
но что я могу сделать, я не могу изменить ничего в ходе организации процесса организации, обработки, хранения информации... Если кто может помочь с макросом, будет просто здорово, я вот начала разбираться, но могу только очень простые операции сделать |
|
16.07.2011, 14:38 | #7 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
если уж Дима (многое повидавший на свем веку) пришел в ужас, взглянув на Ваша данные, то я просто не рискну...
замечено, у нас господствуют два принципа организации данных "как будто специально" и "на зло всем". Цитата:
(несколько последних сообщений - чистый спам. надо валить на пляж, пока модераторы не забанили)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 16.07.2011 в 14:41. |
|
16.07.2011, 16:10 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Сделать-то макрос не проблема.
Вот только дальше сложнее будет - если сейчас не заняться приведением данных в нормальный вид, вы только и будете делать, что ежедневно изобретать новые макросы для сбора и обработки данных. А если сразу потребовать от начальства пересмотра формата хранения данных - то даже макросов никаких не надо будет, хватит простейшей сводной таблицы. |
16.07.2011, 16:44 | #9 |
Регистрация: 14.07.2011
Сообщений: 6
|
EducatedFool, да кто меня слушать будет, я только месяц работаю и после универа, это нереально
нашла в инете макрос для выборки файлов xls из папки и формирования названий и путей к файлам в новую книгу, немного изменила, но он не работае, подскажите где ошибка. пожалуйста? Sub Макрос1() Dim coll As Collection, ПутьКПапке As String ПутьКПапке = CreateObject("WScript.Shell").Speci alFolders("C:\Documents and Settings\ССВ\Рабочий стол\Январь\Детализация\01") Set coll = FilenamesCollection(ПутьКПапке, ".xls", 1) Application.ScreenUpdating = False Dim sh As Worksheet: Set sh = Workbooks.Add.Worksheets(1) With sh.Range("a1").Resize(, 3) .Value = Array("№", "Имя файла", "Полный путь") .Font.Bold = True: .Interior.ColorIndex = 17 End With For i = 1 To coll.Count sh.Range("a" & sh.Rows.Count).End(xlUp).Offset(1). Resize(, 3).Value = _ Array(i, Dir(coll(i)), coll(i)) DoEvents Next sh.Range("a:c").EntireColumn.AutoFi t [a2].Activate: ActiveWindow.FreezePanes = True End Sub и вот написала макрос для отрытия документа, правда с прописанным именем, вставки в него диапазона ячеек из другого документа и сохранением Sub Макрос2() Workbooks.Open "C:\Documents and Settings\ССВ\Рабочий стол\лист н2.xls" Range("C:H").Select Selection.Copy Workbooks.Open "C:\Documents and Settings\ССВ\Рабочий стол\выписка.xls" Range("C:H").Select ActiveSheet.Paste ActiveWorkbook.Close SaveChanges:=True End Sub можно ли, объеденить данные макросы чтобы второй макрос брал пути к файлам из новой книги и втавлял в них диапазон ячеек и сохранял? мне бы хоть часть этого безобразия автоматизировать, а то вообще невозможно, я бы уволилась, но без опыта работу не найти, так что придется терпеть пока |
16.07.2011, 16:48 | #10 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Покажите начальству эту тему. Может, хоть к нам прислушаются. Цитата:
подождите немного |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как открыть файлы в папке по очерёдно | Mrbober | Общие вопросы C/C++ | 21 | 26.02.2011 23:16 |
Открытие всех файлов xls в папке | Milo4ka_Lucy | Microsoft Office Excel | 17 | 28.09.2010 14:50 |
Как найти все открытые „xls“ файлы? | roplius | Microsoft Office Excel | 2 | 03.02.2010 09:55 |
Как найти все файлы в папке? | blackstersl | Общие вопросы Delphi | 3 | 24.06.2009 16:52 |
Как проверить наличие в конкретной папке DLL, а потом на вход каждой подать массив байт,и на выходе тоже. | Sanches_Ramires | Общие вопросы .NET | 1 | 02.02.2009 15:02 |