Страницы: 1
RSS
Как разложить число в ячейке на множители
 
Подскажиите пожалуйста как разложить число (n*m) из одной ячейки на n количество ячеек со значениями m? В примере в комментарии более подробно.
 
А вы тот файл приложили? А то в нем комментариев слишком много...
 
да, там ерунда какая-то. Странно. Пробую снова. Но вот на всякий случай напишу в поле письма суть вопроса:  
наименование    количество       цена          сумма  
Лукойл а.о.        740          1705,1        1 261 774  
Нужно разложить 740 акций по одной штуке отдельными строками - т.е. чтобы получилось 740 строк в которых бы была такая запись:  
наименование    количество       цена          сумма  
Лукойл а.о.        1          1705,1        1705,1
 
{quote}{login=m80a}{date=25.02.2011 11:31}{thema=Re: }{post}да, там ерунда какая-то. Странно. Пробую снова. Но вот на всякий случай напишу в поле письма суть вопроса:  
наименование    количество       цена          сумма  
Лукойл а.о.        740          1705,1        1 261 774  
Нужно разложить 740 акций по одной штуке отдельными строками - т.е. чтобы получилось 740 строк в которых бы была такая запись:  
наименование    количество       цена          сумма  
Лукойл а.о.        1          1705,1        1705,1{/post}{/quote}Ну файл тот самый, что б его легче было открывать, (а также учитывая, что не у многих еще 2003), лучше выкладывать в формате 2003.  
 
Теперь из сообщения хотябы понятно, что нужно раложить на 740 строчек.. но куда?  
_____  
нарисуйте пример (только не надо на 740 строчек, возьмите 5-6) и покажите вручную, что есть и что хотите получить....
 
Может быть сюда же и разбивать?  
Взять данные в массив, определить размер итогового массива, и перебором...  
Переложить из одного в другой, дублируя строки, затем выгрузить поверх.  
Так нужно?
 
Типа так. Заготовка - динамики не хватает, и лень всё прописывать:  
 
Option Explicit  
 
Sub tt()  
Dim a()  
Dim max_, i, ii, iii  
max_ = Application.Sum([i1:i10])
a = [a2:r9].Value
ReDim b(1 To max_, 1 To UBound(a, 2))  
For i = 1 To UBound(a, 1)  
For ii = 1 To a(i, 9)  
iii = iii + 1  
b(iii, 1) = a(i, 1)  
'...  
Next  
Next  
[A2:R2].Resize(iii) = b
 
End Sub
 
Вот пример  - лучше конечно если можно разложить в отдельном листе. К сожалению макросами не умею пользоваться, думала можно как-то будет без них обойтись...
 
Я так и представлял.  
Можно и на другой лист выгрузить. Но я могу только макросом. Если нужно.  
Сумму красить не нужно, это только Вы внимание обратили?
 
{quote}{login=m80a}{date=25.02.2011 02:29}{thema=Re: Re: Re: }{post}Вот пример  - лучше конечно если можно разложить в отдельном листе... К сожалению макросами не умею пользоваться, думала можно как-то будет без них обойтись...{/post}{/quote}  
m80a! Мне кажется, что заморочка с многократным повторением это всего-лишь этап в какой-то более замороченной замочке, о которой пока не сказано ни слова... А если знать конечную цель, то, может быть, можной найти другое - более рациональное решение... Не задумывались?  
Z. -47185-
 
Да, конечно не надо. Если можно макросом буду очень благодарна.
 
Действительно - а что потом? Получили огромный лист вместо маленького сводного - что дальше? Зачем это всё?  
Может сразу, не раскладывая, делать конечную задачу?
 
Пока заказчик думает - сделал.  
Открываете файл, разрешаете макросы, на активном листе с данными жмёте Alt+F8, выбираете макрос Razbitj.  
Шапка копируется с первого листа, поэтому цвет тоже копируется. Остальные данные переносятся без форматов - только значения.
Страницы: 1
Читают тему
Наверх