Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Litesav
0 / 0 / 0
Регистрация: 27.07.2016
Сообщений: 26
#1

Макрос для разделения xls на конкретные строки - VBA

20.04.2017, 14:43. Просмотров 189. Ответов 1
Метки нет (Все метки)

Добрый день. Необходимо написать или найти следующий VBA-макрос. Есть большой Excel файл в 35000 строк. Есть интервалы строк, по которым нужно разбить этот файл. Например: 3457-3468; 4050-4150 и т.д. Длина у каждого интервала разного. В результате должны получить множество файлов xls с названием из первого столбца. Достаточно, чтобы макрос принимал два значения от и до. В коде буду эти значения менять. Главное, чтобы содержимое заданного диапазона появлялось в новом созданном файле. И, если, возможно, чтобы название этого файла было как у первого столбца первой строки по отношению к заданному диапазону. Пример таблицы прикрепляю.
0
Вложения
Тип файла: xlsx Пример.xlsx (14.1 Кб, 5 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2017, 14:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Макрос для разделения xls на конкретные строки (VBA):

Макрос для разделения таблицы на несколько
Добрый день! Имеется макрос (см.приложение) который разделяет одну большую...

Макрос для XLS по созданию объектов в Visio
Добрый день! Помогите пожалуйста с шаблоном макроса для XLS, который бы...

Макрос для печати файлов xls из конкретной папки
Добрый День, Уважаемые Дамы и Господа! Необходимо сделать макрос который будет...

Создать макрос для генерирования csv файла из накладной xls
Всем привет! Помогите пожалуйста создать макрос для генерирования csv файла из...

Макрос для сдвига xls таблицы на несколько ячеек ниже
Добрый день, уважаемые форумчане. Выгружаю из SQL Server при помощи DTS Package...

Перенос данных из xls в xls для отчета
Perenosit ne vse dannyje iz faila s dannymi v otczet, nowiczek w etoj teme ne...

1
toiai
3071 / 868 / 188
Регистрация: 29.05.2010
Сообщений: 1,860
22.04.2017, 18:51 #2
Возможно так:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Sheet2Files()
    Dim shSrc As Worksheet, rCol1 As Range, c As Range
    Dim cl As New Collection, pth$
    Set shSrc = ActiveSheet
    pth = ActiveWorkbook.Path & "" 'путь сохранения файлов
    Set rCol1 = shSrc.UsedRange.Columns(1)
    Set rCol1 = rCol1.Cells(2).Resize(rCol1.Cells.Count - 1) 'первый столбец без заголовка
    On Error Resume Next
    For Each c In rCol1.Cells
        cl.Add 0, c.Value
        If Err Then
            Err.Clear
        Else
            shSrc.Copy      'в новую книгу
            ActiveSheet.Range(rCol1.Address).ColumnDifferences(c).EntireRow.Delete
            'здесь надо заменить символы, которые нельзя использовать в имени файла
            'c=
            ActiveWorkbook.Close True, pth & c 'закрыть с сохранением
        End If
    Next
End Sub
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2017, 18:51
Привет! Вот еще темы с решениями:

Нужен макрос для удаления строки
Срочно нужна помощь! Задание : Удалить запись о поездах, которые следуют до...

Макрос для Word 2007: удаление строки с символом
Помогите мне написать макрос для редактирования текста Задача: найти строку с...

Макрос для Excel. Формат строки по образцу при условии
Добрый день! Помогите пожалуйста написать макрос. Нужно. Если в ячейке...

Напишите макрос для нахождения суммы элементов k-ой строки данной матрицы
В таблице Excel в диапазон A1:Е5 внесите любые числа. Напишите макрос для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru