Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос для форматирования нескольких файлов в одной папке. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для форматирования нескольких файлов в одной папке. (Макросы/Sub)
Макрос для форматирования нескольких файлов в одной папке.
arga Дата: Четверг, 28.07.2016, 05:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Все доброе время!!!! Проблема состоит в следующем. Есть некий массив файлов (более 600) xls в одной папке с разными именами они абсолютно идентичны, только в таблицах разные данные. Так вот задача в следующем чтобы во всех фалах удалить два столбца, сменить название шапки таблицы и изменить высоту ячеек и наконец добавить прорисовку таблицы. Нигде не могу найти пример макроса хотя б одной из данных задач и слепить воедино! Неужели настолько сложно? Была идея сделать изменения при помощи шаблона, но тоже не увенчалась успехом!
[moder]Тема создана с нарушением п.2 Правил форума.
Исправлено[/moder]


Сообщение отредактировал Pelena - Четверг, 28.07.2016, 07:25
 
Ответить
СообщениеВсе доброе время!!!! Проблема состоит в следующем. Есть некий массив файлов (более 600) xls в одной папке с разными именами они абсолютно идентичны, только в таблицах разные данные. Так вот задача в следующем чтобы во всех фалах удалить два столбца, сменить название шапки таблицы и изменить высоту ячеек и наконец добавить прорисовку таблицы. Нигде не могу найти пример макроса хотя б одной из данных задач и слепить воедино! Неужели настолько сложно? Была идея сделать изменения при помощи шаблона, но тоже не увенчалась успехом!
[moder]Тема создана с нарушением п.2 Правил форума.
Исправлено[/moder]

Автор - arga
Дата добавления - 28.07.2016 в 05:28
KuklP Дата: Четверг, 28.07.2016, 06:36 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2006
Репутация: 436 ±
Замечаний: 20% ±

Ну и выложите пару файлов для примера. Как есть и как надо. Правила почитайте, там есть об этом.
А перебор файлов в папке здесь выкладывали миллион раз. Не знаю, как уж Вы там чего искали.
P.S. И что есть:
и на конец добавить прорисовку таблицы

P.P.S. "наконец" надо писать слитно, если Вы конечно, не имеете ввиду свою анатомию :D


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 28.07.2016, 06:40
 
Ответить
СообщениеНу и выложите пару файлов для примера. Как есть и как надо. Правила почитайте, там есть об этом.
А перебор файлов в папке здесь выкладывали миллион раз. Не знаю, как уж Вы там чего искали.
P.S. И что есть:
и на конец добавить прорисовку таблицы

P.P.S. "наконец" надо писать слитно, если Вы конечно, не имеете ввиду свою анатомию :D

Автор - KuklP
Дата добавления - 28.07.2016 в 06:36
arga Дата: Четверг, 28.07.2016, 06:46 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Извините исправил! Прикрепил фалы "8653870" - то что есть на данный момент, и "5138697" - то что требуется.
К сообщению приложен файл: 5138697.xls(26Kb) · 8653870.xls(30Kb)
 
Ответить
СообщениеИзвините исправил! Прикрепил фалы "8653870" - то что есть на данный момент, и "5138697" - то что требуется.

Автор - arga
Дата добавления - 28.07.2016 в 06:46
Pelena Дата: Четверг, 28.07.2016, 07:07 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9869
Репутация: 2263 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
arga, Теперь ещё название темы исправьте в соответствии с Правилами форума

Исправлено


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816


Сообщение отредактировал Pelena - Четверг, 28.07.2016, 07:25
 
Ответить
Сообщениеarga, Теперь ещё название темы исправьте в соответствии с Правилами форума

Исправлено

Автор - Pelena
Дата добавления - 28.07.2016 в 07:07
alex77755 Дата: Четверг, 28.07.2016, 09:00 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 46 ±
Замечаний: 0% ±

Цитата
Нигде не могу найти пример макроса хотя б одной из данных задач

Хочешь подскажу где в первую очередь стоит искать ответы на подобные вопросы?
В редакторе VBE!
Порядок такой: Включаешь запись макроса, делаешь одну нужную операцию, выключаешь запись.
Alt+F11 = смотришь макрос по данной операции.
Там, конечно, много лишнего. Но хоть что-то. И для начала вполне достаточно
Перебрать файлы в папке с файлом с макросом не трогая сам файл можно так:
[vba]
Код
Sub format_all()
    Dim wb As Workbook, wi As Workbook
    Dim Path As String, curfold, FSO, fil
    Dim strFile As String, strFile2 As String, Path_ As String
        Set wb = ActiveWorkbook
        Path_ = wb.Path & "\"
        Set FSO = CreateObject("scripting.filesystemobject")
        Set curfold = FSO.GetFolder(Path_)
        If Not curfold Is Nothing Then
                For Each fil In curfold.Files
                    If fil.Name <> wb.Name Then
                        If InStr(1, fil.Name, ".xls", vbTextCompare) > 0 Then
                    
                            'тут набор операций по каждому файлу включая открытие, модификацию, сохранение(или сохранениекак) и закрытие
                    
                        End If
                    End If
                Next
        End If
        Set FSO = Nothing
End Sub
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Четверг, 28.07.2016, 09:05
 
Ответить
Сообщение
Цитата
Нигде не могу найти пример макроса хотя б одной из данных задач

Хочешь подскажу где в первую очередь стоит искать ответы на подобные вопросы?
В редакторе VBE!
Порядок такой: Включаешь запись макроса, делаешь одну нужную операцию, выключаешь запись.
Alt+F11 = смотришь макрос по данной операции.
Там, конечно, много лишнего. Но хоть что-то. И для начала вполне достаточно
Перебрать файлы в папке с файлом с макросом не трогая сам файл можно так:
[vba]
Код
Sub format_all()
    Dim wb As Workbook, wi As Workbook
    Dim Path As String, curfold, FSO, fil
    Dim strFile As String, strFile2 As String, Path_ As String
        Set wb = ActiveWorkbook
        Path_ = wb.Path & "\"
        Set FSO = CreateObject("scripting.filesystemobject")
        Set curfold = FSO.GetFolder(Path_)
        If Not curfold Is Nothing Then
                For Each fil In curfold.Files
                    If fil.Name <> wb.Name Then
                        If InStr(1, fil.Name, ".xls", vbTextCompare) > 0 Then
                    
                            'тут набор операций по каждому файлу включая открытие, модификацию, сохранение(или сохранениекак) и закрытие
                    
                        End If
                    End If
                Next
        End If
        Set FSO = Nothing
End Sub
[/vba]

Автор - alex77755
Дата добавления - 28.07.2016 в 09:00
arga Дата: Четверг, 28.07.2016, 09:16 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
ого, даже не знал такого. Спасибо огромное. Прямо таки целый мир для меня открыли. Буду пробовать
 
Ответить
Сообщениеого, даже не знал такого. Спасибо огромное. Прямо таки целый мир для меня открыли. Буду пробовать

Автор - arga
Дата добавления - 28.07.2016 в 09:16
alex77755 Дата: Четверг, 28.07.2016, 09:41 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 46 ±
Замечаний: 0% ±

Цитата
в одной папке

Распакуй в эту папку файл и открой
Дождись сообщения "OK"
В статусбаре отображается обрабатываемый файл
На счёт записи макросов: 2007 пишет плохо
лучше 2003 или 2010
К сообщению приложен файл: 1838375.rar(10Kb)


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Четверг, 28.07.2016, 09:43
 
Ответить
Сообщение
Цитата
в одной папке

Распакуй в эту папку файл и открой
Дождись сообщения "OK"
В статусбаре отображается обрабатываемый файл
На счёт записи макросов: 2007 пишет плохо
лучше 2003 или 2010

Автор - alex77755
Дата добавления - 28.07.2016 в 09:41
arga Дата: Четверг, 28.07.2016, 09:50 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
alex77755, Офигеть как вы меня выручили!! Спасибо огромное. Только начал разбираться, а тут вы снова пишете. Прямо спасли!!! В личку мне напишите карту денег на пивко кину!!!


Сообщение отредактировал arga - Четверг, 28.07.2016, 10:17
 
Ответить
Сообщениеalex77755, Офигеть как вы меня выручили!! Спасибо огромное. Только начал разбираться, а тут вы снова пишете. Прямо спасли!!! В личку мне напишите карту денег на пивко кину!!!

Автор - arga
Дата добавления - 28.07.2016 в 09:50
alex77755 Дата: Четверг, 28.07.2016, 12:12 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 46 ±
Замечаний: 0% ±

удалено


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Четверг, 28.07.2016, 12:13
 
Ответить
Сообщениеудалено

Автор - alex77755
Дата добавления - 28.07.2016 в 12:12
SGerman Дата: Четверг, 28.07.2016, 12:45 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
А не лучше ли все данные по людям хранить на одном листе Excel, выборку для работы пользователя делать на другом листе, а подготовку печатного формата (с отрисованными границами) - на третьем ?
И все - в одном файле Excel.


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеА не лучше ли все данные по людям хранить на одном листе Excel, выборку для работы пользователя делать на другом листе, а подготовку печатного формата (с отрисованными границами) - на третьем ?
И все - в одном файле Excel.

Автор - SGerman
Дата добавления - 28.07.2016 в 12:45
SGerman Дата: Четверг, 28.07.2016, 12:55 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Вот написал, а потом подумал - а что, если все эти файлы создали не Вы, и они поступают извне, например, из районов, поселков, сел и т.д., где есть "паспортистки" (например) ?
Тогда все намного грустнее :(
Решение, конечно, есть, но оно много сложнее и сводится к проекту двух и трех звенки. Т.е. опять-таки система "клиент-сервер" с SQL-сервером на одной стороне и клиентским приложением - на другой.
Самый лучший вариант тут, конечно же веб-клиент и хороший сервер типа MS SQL Server (свыше 1000 одновременных подключений). Хотя возможно справится и бесплатный MySQL

Без сервера тоже, конечно, можно. Но тогда придется писать на VBA специальную программу для репликаций БД. Но опять-таки лучше делать это в Access


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеВот написал, а потом подумал - а что, если все эти файлы создали не Вы, и они поступают извне, например, из районов, поселков, сел и т.д., где есть "паспортистки" (например) ?
Тогда все намного грустнее :(
Решение, конечно, есть, но оно много сложнее и сводится к проекту двух и трех звенки. Т.е. опять-таки система "клиент-сервер" с SQL-сервером на одной стороне и клиентским приложением - на другой.
Самый лучший вариант тут, конечно же веб-клиент и хороший сервер типа MS SQL Server (свыше 1000 одновременных подключений). Хотя возможно справится и бесплатный MySQL

Без сервера тоже, конечно, можно. Но тогда придется писать на VBA специальную программу для репликаций БД. Но опять-таки лучше делать это в Access

Автор - SGerman
Дата добавления - 28.07.2016 в 12:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для форматирования нескольких файлов в одной папке. (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!