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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 03:09   #1
Matras
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 32
По умолчанию Скопировать каждую строчку из выделенного диапазон

Нужно скопировать каждую строчку с уникальным значением в ячейке "С" вниз 5 раз.

Было
Код:
(23	229	544	11	46	1	1	 6000.0000	 '+'	0	 '+'	 0.00000000	 '+')
(38,	232	755	11	46	0	1	 1.0000	 '+'	0	 '+'	 0.00000000	 '+');
(23~,	231	724	11	46	0	1	 123.0000	 '+'	0	 '+'	 0.00000000	 '+')
Стало
Код:

(23	229	544	11	46	1	1	 6000.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	229	544	11	50	1	1	 5800.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	229	544	11	49	1	1	 4000.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	229	544	11	48	1	1	 2000.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	230	676	11	48	0	1	 12.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	230	676	11	47	0	1	 12.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	230	676	11	46	0	1	 12.0000	 '+'	0	 '+'	 0.00000000	 '+');
(23~,	231	724	11	49	0	1	 123.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	231	724	11	48	0	1	 123.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	231	724	11	47	0	1	 123.0000	 '+'	0	 '+'	 0.00000000	 '+')
(23~,	231	724	11	46	0	1	 123.0000	 '+'	0	 '+'	 0.00000000	 '+')
(34,	232	755	11	49	0	1	 4.0000	 '+'	0	 '+'	 0.00000000	 '+')
(33,	232	755	11	48	0	1	 3.0000	 '+'	0	 '+'	 0.00000000	 '+')
(32,	232	755	11	47	0	1	 2.0000	 '+'	0	 '+'	 0.00000000	 '+')
(31,	232	755	11	46	0	1	 1.0000	 '+'	0	 '+'	 0.00000000	 '+')
(35,	232	755	11	50	0	1	 5.0000	 '+'	0	 '+'	 0.00000000	 '+')
(36,	232	755	11	51	0	1	 6.0000	 '+'	0	 '+'	 0.00000000	 '+')
(37,	232	755	11	52	0	1	 8.0000	 '+'	0	 '+'	 0.00000000	 '+')
(38,	232	755	11	46	0	1	 1.0000	 '+'	0	 '+'	 0.00000000	 '+');
Matras вне форума Ответить с цитированием
Старый 05.10.2011, 13:24   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Нужно скопировать каждую строчку с уникальным значением в ячейке "С" вниз 5 раз.
Если уточнять вопрос, то на каждое слово придётся задавать по два вопроса:
Нужно: можно было бы пропусть, но как здесь говорят: нужно - делай. Вопроса не прозвучало. В чём проблема-то. Это задание? Сделают, но не бесплатно
скопировать : подразумевает полное совпадение. В примере как должно быть не все строки идентичны образцу.
каждую строчку с уникальным значением в ячейке: Откуда надо было копировать строчки со значением 676 в ячейке "С"(я считаю, что это третье число)
вниз 5 раз: Сколько всё-таки должно поличится строк если скопировать5 раз? В примере 4, 3, 4 ,8
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 05.10.2011, 16:39   #3
Matras
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 32
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Если уточнять вопрос, то на каждое слово придётся задавать по два вопроса:
Нужно: можно было бы пропусть, но как здесь говорят: нужно - делай. Вопроса не прозвучало. В чём проблема-то. Это задание? Сделают, но не бесплатно
скопировать : подразумевает полное совпадение. В примере как должно быть не все строки идентичны образцу.
каждую строчку с уникальным значением в ячейке: Откуда надо было копировать строчки со значением 676 в ячейке "С"(я считаю, что это третье число)
вниз 5 раз: Сколько всё-таки должно поличится строк если скопировать5 раз? В примере 4, 3, 4 ,8
Добрый День, Писал вчера сообщение поздно ночью изрядно намучавшись с базой MYSQL. Так что извините за пропущенное "Помогите пожалуста Люди!").

В идеале нужно что бы каждая копируема вниз строчка имела определенные значения, а именно ячейка А принимала значение по порядку , те же условия для ячеки B (кроме копируемых вниз строк, оно там остается тем же), Ячейка C остается для всех 5 строк копируемых вниз уникальным (это ID товара), D -все числа одни и те же "11", ячейка E принимает значение от 46 до 52, Ячейка F и G там 1 во всех строках, В ячейке F каждая копируемая вниз строка увеличивается на 2000.
Вообщем должно быть вот так

Код:
23	231		11	46	0	1	2000	'+',	0	'+',	0.00000000,	'+'),
24	231		11	47	0	1	4000	'+',	0	'+',	0.00000000,	'+'),
25	231		11	48	0	1	6000	'+',	0	'+',	0.00000000,	'+'),
26	231		11	49	0	1	8000	'+',	0	'+',	0.00000000,	'+'),
27	231		11	50	0	1	10000	'+',	0	'+',	0.00000000,	'+'),
28	231		11	51	0	1	12000	'+',	0	'+',	0.00000000,	'+'),
29	231		11	52	0	1	14000	'+',	0	'+',	0.00000000,	'+'),
30	231	657 Уникальное ID товара	11	53	0	1	16000	'+',	0	'+',	0.00000000,	'+'),
(31,	232	755	11	46	0	1	2000	'+',	0	'+',	0.00000000,	'+'),
(32,	232	755	11	47	0	1	4000	'+',	0	'+',	0.00000000,	'+'),
(33,	232	755	11	48	0	1	6000	'+',	0	'+',	0.00000000,	'+'),
(34,	232	755	11	49	0	1	8000	'+',	0	'+',	0.00000000,	'+'),
(35,	232	755	11	50	0	1	10000	'+',	0	'+',	0.00000000,	'+'),
(36,	232	755	11	51	0	1	12000	'+',	0	'+',	0.00000000,	'+'),
(37,	232	755	11	52	0	1	14000	'+',	0	'+',	0.00000000,	'+'),
(38,	232	755	11	53	0	1	16000	'+',	0	'+',	0.00000000,	'+');
Matras вне форума Ответить с цитированием
Старый 05.10.2011, 20:45   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

И опять не сходится...
В принципе задача ерундовая - взяли диапазон в массив, создали массив для результата, идем циклом по исходному массиву, на каждом шаге ещё цикл до 5 (или сколько там нужно) - перекладываем из одного массива в другой с преобразованием, выгружаем результат.
Но вот в деталях что чего куда как - мне например не понятно, поэтому всё.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.10.2011, 20:46   #5
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Думаешь стало понятней?
Было
Код:
Цитата:
(23 229 544 11 46 1 1 6000.0000 '+' 0 '+' 0.00000000 '+')
(38, 232 755 11 46 0 1 1.0000 '+' 0 '+' 0.00000000 '+');
(23~, 231 724 11 46 0 1 123.0000 '+' 0 '+' 0.00000000 '+')
Куда делось 544?
Откуда взялось 657?
Если надо скопировать 5 раз, то почему в "как надо" 8 строк с 755?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 06.10.2011, 01:57   #6
Matras
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 32
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Думаешь стало понятней?
Было
Код:

Куда делось 544?
Откуда взялось 657?
Если надо скопировать 5 раз, то почему в "как надо" 8 строк с 755?
Извиняюсь за некорректное объяснения, мне нужно скопировать строчку с идентификатором 755 вниз 8 раз, первоначально я говорил 5 раз но потом понял что лучше будет сделать 8 раз.

Код:
(AA, BBB, 755, CC, DD, 1, 1, YYYY, '+', 0, '+', 0.00000000, '+'),
Мне известен только идентификатор, все остальные числа нужно сгенерировать, по определенной логической схеме.

AA -чилсла идут попорядку (1,2,3,4,5,6,7,8 9 10 ...и так далее эти числа просто нумерация)

BBB - эти числа повторяются подряд 8 раз для одного идентификатора, когда переход к следующему добавляется "+1" (1 1 1 1 1 1 1 1 - 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3) счетчик должен стартовать с определенного значения, цыфры эти цифры для примера.

755- это идентификатор число остается одним для всех 8 ми строк которые копируются.

СС - остается неизменным для всех идентификаторов = "11"

DD - числа идут по порялку начиная с 46 47 48 49 50 51 52 53 для всех 8ми строчек при переходе к следующему идентификатору они опять повторяются начиная с 46 затем 47 и т д.

YYYY - это числа которые увеличиваются для на два 2000 4000 6000 8000
10000 и т д, когда переход к новому идентификатору счетчик сбрасвается и опятьначинает с 2000

Все остальные числа и символы остаются без изменений .

В результате получаем вот такую таблицу

Код:
(31, 232, 755, 11, 46, 0, 1, 2000, '+', 0, '+', 0.00000000, '+'),
(32, 232, 755, 11, 47, 0, 1, 4000, '+', 0, '+', 0.00000000, '+'),
(33, 232, 755, 11, 48, 0, 1, 6000, '+', 0, '+', 0.00000000, '+'),
(34, 232, 755, 11, 49, 0, 1, 8000, '+', 0, '+', 0.00000000, '+'),
(36, 232, 755, 11, 50, 0, 1, 10000, '+', 0, '+', 0.00000000, '+'),
(37, 232, 755, 11, 51, 0, 1, 12000, '+', 0, '+', 0.00000000, '+'),
(38, 232, 755, 11, 52, 0, 1, 14000, '+', 0, '+', 0.00000000, '+');
(39, 232, 755, 11, 53, 0, 1, 16000, '+', 0, '+', 0.00000000, '+');
Это только для одного идентификатора 755. Вот такую операцию копирования нужно сделать для всех идентификаторов, у меня их около 500. т.е. после копирования получим 500 *8= 4000 строк.

Вот пример кода как дожна выглядеть талица для 2-х идентификаторов

Код:
(31, 232, 755, 11, 46, 0, 1, 2000, '+', 0, '+', 0.00000000, '+'),
(32, 232, 755, 11, 47, 0, 1, 4000, '+', 0, '+', 0.00000000, '+'),
(33, 232, 755, 11, 48, 0, 1, 6000, '+', 0, '+', 0.00000000, '+'),
(34, 232, 755, 11, 49, 0, 1, 8000, '+', 0, '+', 0.00000000, '+'),
(36, 232, 755, 11, 50, 0, 1, 10000, '+', 0, '+', 0.00000000, '+'),
(37, 232, 755, 11, 51, 0, 1, 12000, '+', 0, '+', 0.00000000, '+'),
(38, 232, 755, 11, 52, 0, 1, 14000, '+', 0, '+', 0.00000000, '+');
(39, 232, 755, 11, 53, 0, 1, 16000, '+', 0, '+', 0.00000000, '+');

(40, 233, 644, 11, 46, 0, 1, 2000, '+', 0, '+', 0.00000000, '+'),
(41, 233, 644, 11, 47, 0, 1, 4000, '+', 0, '+', 0.00000000, '+'),
(42, 233, 644, 11, 48, 0, 1, 6000, '+', 0, '+', 0.00000000, '+'),
(43, 233, 644, 11, 49, 0, 1, 8000, '+', 0, '+', 0.00000000, '+'),
(44, 233, 644, 11, 50, 0, 1, 10000, '+', 0, '+', 0.00000000, '+'),
(45, 233, 644, 11, 51, 0, 1, 12000, '+', 0, '+', 0.00000000, '+'),
(46, 233, 644, 11, 52, 0, 1, 14000, '+', 0, '+', 0.00000000, '+');
(47, 233, 644, 11, 53, 0, 1, 16000, '+', 0, '+', 0.00000000, '+');

Последний раз редактировалось Matras; 06.10.2011 в 02:10.
Matras вне форума Ответить с цитированием
Старый 06.10.2011, 03:09   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Насколько понял.
Начальные значения АА и ВВ можно изменить в макросе
Количество дублей тоже можно менять
Вложения
Тип файла: rar Книга123.rar (9.9 Кб, 17 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 06.10.2011, 11:36   #8
Matras
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 32
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Насколько понял.
Начальные значения АА и ВВ можно изменить в макросе
Количество дублей тоже можно менять
Идеально именно то что нужно, могу отблагодарить материально, если дашь номер кошелька.
Matras вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распишите каждую строчку. Bloodys C# (си шарп) 7 13.06.2011 19:12
Надо описать каждую строчку в готовой программе. steal13 Фриланс 3 25.06.2009 10:28
помогите пожалйсто описать каждую строчку проги Rakfeller Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2009 16:11
считать поочередно каждую строчку и записать в батовский файл elplado Паскаль, Turbo Pascal, PascalABC.NET 3 16.11.2008 17:29
Нужно полностью прокомментировать каждую строчку решеннной задач на С++, помогите, плиз!!!! Fialaka_444 Помощь студентам 1 22.12.2007 19:30