|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
03.05.2007, 17:40 | #1 |
Регистрация: 03.05.2007
Сообщений: 5
|
Простой максор. Excel. Как написать.
В VBA я новичек. Не могу написать макрос в Excel, уже на стены лезу.
Дано: носки 45 трусы 43 штаны 75 майки 28 шубы 67 чай 56 кофе 54 сало 32 Нужно чтобы они делились по суммам в 150 штук, то есть вот так: носки 45 трусы 43 штаны 62 штаны 13 майки 28 шубы 67 чай 52 чай 4 кофе 54 сало 32 Может кто сможет написать весь код, чтоб я мог разобраться, а то я не могу допереть сам. Заранее благодарен. |
07.05.2007, 00:24 | #2 |
Регистрация: 03.05.2007
Сообщений: 5
|
Вот решение моей проблемы. Не знаю только что нужно добавить, чтобы этот макрос работал не на весь лист, а обраватывал только конкретный диапазон строк например с 25-й по 64ю.
i = 4 Sum = 0 Do While Cells(i, 2) <> "" razn = 192 - Sum If Cells(i, 3) < razn Then Sum = Sum + Cells(i, 3) ElseIf Cells(i, 3) > razn Then Rows(i + 1).Select Selection.Insert Shift:=xlDown Selection.Insert Shift:=xlDown Cells(i + 2, 1) = Cells(i, 1) Cells(i + 2, 2) = Cells(i, 2) Cells(i + 2, 3) = Cells(i, 3) - razn Cells(i, 3) = razn i = i + 1 Sum = 0 ElseIf Cells(i, 3) = razn Then Rows(i + 1).Select Selection.Insert Shift:=xlDown i = i + 1 Sum = 0 End If i = i + 1 Loop |
08.05.2007, 08:37 | #3 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
На самом деле, Ваш макрос не обрабатывает весь лист (все ячейки рабочего листа)
Что касается работы с конкретным диапазоном, то не внося существенных изменений, можно использовать If i = 100 then Exit Do Кроме того, можно(и нужно) избавиться от лишних инструкций, таких как, например, выделение строки и повторная вставка строки Rows(i + 1).Resize(2).Insert ' Shift:=xlDown Cells(i + 1, 2).Resize(2).EntireRow.Insert ' Shift:=xlDown Последний раз редактировалось pashulka; 08.05.2007 в 08:40. |
10.05.2007, 23:58 | #4 |
Регистрация: 03.05.2007
Сообщений: 5
|
Спасибо, проблемму решил. Еще один чайниковский вопрос если можно. Дано: Два листа одной книги. На кажном листе по нескольку строк с данными. Количество строк в обоих листах заранее неизвестно. Нужно чтобы макрос брал строки из первого листа и переносил их во второй лист начиная с последней строки второго листа.
Как написать такой макрос? Заранее спасибо, всем кто помогает, не вижу где тут кнопка "спасибо". |
01.06.2007, 16:55 | #6 |
Регистрация: 03.05.2007
Сообщений: 5
|
Спасибо, правда там не совсем то что нужно. Попытался сделать с теми примерами. Не получается. Так как количество строк неизвестно на листах из раза в раз. В приложении файл для примера из которого нужно перенести данные из трих листов на один в одну "ширенгу".
|
04.06.2007, 03:03 | #7 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
На самом деле, в моём прошлом примере не было жёсткой привязки к количеству строк, впрочем, также как и в новом примере.
|
07.06.2007, 17:06 | #8 |
Регистрация: 03.05.2007
Сообщений: 5
|
Спасибо огромное за помощь. Это как раз то что мне нужно. Благодарю. Ты мне очень помог, а то бы я полгода возился. Сорри, что сразу не ответил, в командировке был.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как с помощью Microsoft Excel написать программу, позволяющую перемещать предмет на плоскости? | Vova4kA | Microsoft Office Excel | 10 | 28.05.2008 14:18 |
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. | eddddii | Помощь студентам | 9 | 23.05.2008 17:04 |
помогите, пожалуйсто, написать макрос для excel | bacalavr | Microsoft Office Excel | 2 | 04.04.2008 11:39 |
очень громоздкие финансовые модели в Excel, а Excel не тянет | Ragazza | Microsoft Office Excel | 7 | 03.10.2007 20:08 |
Формирование из excel в ASCII, у меня он формирует по одному клиенту а в Excel нескол | Askat | Общие вопросы Delphi | 0 | 18.07.2007 06:28 |