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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2016, 16:33   #1
Viktorkv
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 62
По умолчанию Разделить диапазон на 6 столбцов

Здравствуйте!

Имеется файл эксель 2003, состоящий примерно из 50 000 строк и 4х столбцов.

Необходимо диапазон разбить по 6 столбцов, при чем в начале вставляются данные, по 30 строк, а последующие вставляются по 33 строки.
Другими словами документ был книжной ориентации, потребовалось сделать альбомной и все данные разнести на 6 столбцов.

Если кто знает, плиз откликнитесь
Вложения
Тип файла: rar По столбцам.rar (22.4 Кб, 14 просмотров)

Последний раз редактировалось Viktorkv; 17.03.2016 в 16:45.
Viktorkv вне форума Ответить с цитированием
Старый 17.03.2016, 16:56   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

давайте еще раз и медленно

есть исходные диапазон А:Д
нужно начиная с 31 строки брать блоки по 30 строк и 5 раз переносить их в 1-ю строку все правее и правее?
ВСЕ остальные данные перемещаем блоками по 33 строки

так?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.03.2016, 17:17   #3
Viktorkv
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 62
По умолчанию

1 этап
есть исходные диапазон А:Д
нужно брать блоки 1-30; 31-60; 61-90; 91-120; 121-150 и переносить их на новый лист в диапазон А-Д; E-H; I-L; M-P; Q-T.

2 этап
Дальше из диапазона А:Д
берем блоки через 33 строки 151-183; 184-216; 217-249; 250-282; 283-315 и переносим их на новый лист в диапазон А-Д; E-H; I-L; M-P; Q-T после данных, вставленных на 1 этапе, ну и так далее, пока не закончатся данные в диапазоне А:Д
Viktorkv вне форума Ответить с цитированием
Старый 17.03.2016, 18:50   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

при активном листе с данными выполните этот
Код:
Sub RasKolbas()
  Dim r As Long
  With ActiveSheet
    .Parent.Worksheets.Add
    For r = 1 To 121 Step 30
      .Cells(r, 1).Resize(30, 4).Copy Cells(1, Int((r - 1) / 30) * 4 + 1)
    Next
    For r = 151 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 33
      .Cells(r, 1).Resize(33, 4).Copy Cells(31 + Int((r - 151) / 165) * 33, 1 + Int(((r - 151) Mod 165) / 33) * 4)
    Next
  End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.03.2016, 08:48   #5
Viktorkv
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 62
По умолчанию

Спасибо, Игорь! Это то, что нужно !!!
Viktorkv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# WinForms DataGridView (диапазон столбцов) Matwei Помощь студентам 2 03.10.2014 17:59
Дан двухмерный массив из 20 столбцов. Вставить в него столбец из чисел 10 после всех четных столбцов. Дмитрий142 Помощь студентам 9 07.06.2012 19:32
Вывести номера тех столбцов, сумма элементов которых меньше нуля, и число таких столбцов Half Помощь студентам 7 16.04.2012 21:23
вывод номеров столбцов матрицы и подсчитать количество этих столбцов Vitalina69 Помощь студентам 2 15.02.2011 21:52
Как написать в коде чтобы диапазон А копировался как значение в диапазон В. Dorvir Microsoft Office Excel 12 23.05.2008 22:11