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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 19:13   #1
Ruden
Новичок
Джуниор
 
Регистрация: 16.12.2011
Сообщений: 3
По умолчанию Дублирование массива строк

Привет, коллеги!
Задача такая:
Надо дублировать массив строк в Excel

Пример:
Столбцы: А B C D
Строка 1 Город Марка Модель Запчасть
Строка 2 Воронеж ВАЗ 2111 Инжектор
Строка 3 Липецк ВАЗ 2112 Фара
Строка 4 Белгород ВАЗ 2114 Бампер
Строка 5 Брянск Ford 3 Кузов

Надо продолжить таблицу из 150 городов и на каждый город по 995 строк с разными запчастями.

Как это сделать?
Ruden вне форума Ответить с цитированием
Старый 17.12.2011, 10:57   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Из вашего описания мало что понятно.

Прикрепите к сообщению файл Excel, в котором покажите пример исходной и конечной таблиц.
EducatedFool вне форума Ответить с цитированием
Старый 17.12.2011, 23:11   #3
Ruden
Новичок
Джуниор
 
Регистрация: 16.12.2011
Сообщений: 3
По умолчанию

Да, согласен. Описание проблемы не фонтан ) Наверное сказалось 8 часовое мучение на поиском ее решения. Попробую проще...

Есть 995 строк (таблица из 10 колонок). Эти строки надо дублировать 150 раз. Простым копи пастом можно потратить часа 3. Необходим какой-нибудь инструмент автоматизации вот на его создание можно потратить 3 часа, ибо в будущем эта операция может понадобиться многократно.
Ruden вне форума Ответить с цитированием
Старый 17.12.2011, 23:30   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Эти строки надо дублировать 150 раз.
дублировать куда?
Ниже, вправо, на новый лист, а может быть вообще в другой файл?
И прикрепите все же файлик, не обязательно даже все 995 строк.
лень Вашу таблицу набирать
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 17.12.2011, 23:35   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Необходим какой-нибудь инструмент автоматизации

Скорее необходимо оптимизировать организацию данных
Макрос копирует выделенный диапазон ниже него 150 раз.
Только значения, без форматирования:
Код:
Sub bb()
Dim i&, v()
v = Selection.Value
For i = 1 To 150
    Selection.Offset(UBound(v) * i) = v
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 17.12.2011, 23:45   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

То же самое, с форматированием
Код:
Sub tt()
    [a1:j995].Copy
    For i = 1 To 150
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
    Next i
End Sub
(без Select не получилось)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 18.12.2011, 00:06   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Без селекта
Код:
Sub bb1()
Dim i&, v As Range, r&
Set v = Selection
r = Selection.Rows.Count
For i = 1 To 150
    v.Copy v.Offset(r * i)
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.12.2011, 00:31   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Без селекта
Спасибо
Сохраню себе в копилку
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 18.12.2011, 19:50   #9
Ruden
Новичок
Джуниор
 
Регистрация: 16.12.2011
Сообщений: 3
По умолчанию

Оу, спасибо всем. Прикрепить не получится, ибо файлик в офисе, только в понедельник.
Дублировать надо ниже в тот же лист.
Ruden вне форума Ответить с цитированием
Старый 18.12.2011, 20:39   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Дублировать надо ниже в тот же лист.
В таком случае задача решена
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дублирование строк для бухгалтерских проводок Lanatje Microsoft Office Excel 8 19.07.2011 15:21
TStringList и дублирование строк us4us Общие вопросы Delphi 4 25.04.2011 22:30
сортировка массива строк в Си SpLIne Общие вопросы C/C++ 2 15.04.2010 16:17
дублирование строк в таблице windrun БД в Delphi 0 27.02.2010 22:53
дублирование строк в документ varelik Общие вопросы Delphi 0 02.12.2009 17:05