Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 08:34   #1
Sat_Kelman
Новичок
Джуниор
 
Регистрация: 18.03.2011
Сообщений: 2
По умолчанию Разбить большой файл на более мелкие

Всем добрый день!
Появилась необходимость разбивать большие файлы на более мелкие. Нужен какой-то макрос. Сам додуматься не могу.
Поясню конкретнее:
Есть файл, пусть его название Файл №1.xls Его размер около 100 Мб. В нем есть сколько-то листов, точное количество не известно, так как файл редактируется время от времени. Нужно разбить файл на несколько, чтоб каждый весил 30 Мб (не обязательно точно, но примерно).
Я примерно представляю это так что открывается Файл №1.xls, создается новый документ эксель, встаем на первый лист Файл №1 и копируем его в новый документ с таким же названием, смотрим, если размер получившегося файла меньше 30 Мб, то копируем второй лист из Файл №1 и снова проверяем размер.... Если новый документ становится больше 30 мб, то сохраняем его под именем Файл №1_1.xls. Далее вновь создаем новый документ и продолжаем копировать листы из Файл №1, постоянно проверяя размер получающегося файла, и сохраняя его под именами Файл №1_2.xls, Файл №1_3.xls, Файл №1_4.xls

Сам только начал осваивать макросы, а поставили задачу. Помогите пожалуйста! Заранее спасибо
Sat_Kelman вне форума Ответить с цитированием
Старый 18.03.2011, 09:14   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Насчёт размера - вполне возможно, что этот размер создают не те данные, которые Вы видите, и его значительно можно уменьшить, не разбивая файл.
Кроме того, сохранив его как xlsx (если версия позволяет) Вы тоже значительно уменьшите размер.
А так как Вы хотите - за полчаса уже давно можно было сделать вручную. Один файл разложить всего на 3 части - зачем макрос?...
Если кто и напишет - вряд ли получится именно такой макрос, ибо так возни много. Размер можно анализировать только после сохранения...
Если есть формулы, связанные с другими листами - это тоже гемор...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 18.03.2011, 09:42   #3
Sat_Kelman
Новичок
Джуниор
 
Регистрация: 18.03.2011
Сообщений: 2
По умолчанию

Никаких формул в файле нет, только таблицы. Какие данные и что они создают меня вообще не касается, создаю не я. Мне приходит готовый файл.
Сохранить в xlsx не стоит, у тех кто потом будет работать с файлами возможно не поддерживает.
Вручную вообще не вариант. представьте файл где пусть даже около 50 листов, и размер его не обязательно 100МБ, я для примера сказал, он может быть и 60 и 360... И таких файлов несколько. Вручную у меня пол дня уйдет. Гораздо проще автоматизировать.
Может кто хотя бы алгоритм нарисует.
Sat_Kelman вне форума Ответить с цитированием
Старый 18.03.2011, 12:22   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Ну вот Вам файл с общим алгоритмом. Если надо - можно доработать.
Вложения
Тип файла: zip Делим на куски.zip (4.23 Мб, 70 просмотров)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 18.03.2011, 13:06   #5
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

чем гадать, какой лист в какой книге

поделила бы , благо листов 50-60
-книга "лист12.xls" c листом лист12
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить файл. ben95 Помощь студентам 3 08.01.2010 12:18
отдавать большой файл с фтп TaTT DoGG PHP 5 03.07.2009 10:34
Разбить exe файл Alex Cones Мультимедиа в Delphi 9 18.04.2009 21:18
ActiveX не хочет читать большой файл Miklek Общие вопросы Delphi 0 02.04.2009 11:55
Разбить файл на 4 части borzoni Паскаль, Turbo Pascal, PascalABC.NET 7 31.05.2008 10:51