![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
Добрый день.
Подскажите пожалуйста, как написать цикл, в котором выполнялось бы следующие: Проверка значений в определенной колонке (например "C:C"), где, в случае если следующие значение (следующая строка) отличное от другого, происходило бы добавление строки. Что есть: Выгрузка из 1С, и офис 2007. Что нужно на "выходе": Есть список моделей с некоторыми выходными данными, которые нужно разбить на группки, вставив пустые строки (чтобы сделать "разрывы)" Чуть дальше задача будет ещё усложняться... Вставить диаграммы, которые будут данные по модели (то что было разбито) подтягивать. В диаграмме по 2-3 графика. Окончательный вариант будет выглядеть так: 2-4 полосы данных по модели, График, пропуск, данные по другой модели, график... и т.д. Вообще можно ли так сделать? (Но это потом...) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вставить строки нетрудно:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
Спасибо) Работает, но только если список по которому нужно делать проверку идет 1-ым. А если он 3? (вставляет просто пустые строки сразу после шапки) А если надо не 1 строку вставить а скажем 3-4, тогда какой "оператор" меняется?
Уважаемый Hugo121! А Вы можете дать комментарии по коду, чтобы мог поучиться на примере? Большое Вам спасибо за макрос) |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]() Код:
Код:
Хотя нет, нащупал: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 17.01.2011 в 16:17. Причина: чуть попутал в комментариях ряды с колонками... |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
Правильно ли я понимаю что:
Код:
Код:
Код:
так? |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Всё правильно, если принять, что Long - это длина
![]() Хотя это немного другое - это тип переменной. Длиннее, чем Integer. Если задать Dim i As Integer, то может "длины" не хватить на весь лист, ибо предел 32,767: The Integer and Long data types can both hold positive or negative values. The difference between them is their size: Integer variables can hold values between -32,768 and 32,767, while Long variables can range from -2,147,483,648 to 2,147,483,647. Traditionally, VBA programmers have used integers to hold small numbers, because they required less memory. In recent versions, however, VBA converts all integer values to type Long, even if they are declared as type Integer. Therefore, there is no longer a performance advantage to using Integer variables; in fact, Long variables might be slightly faster because VBA does not have to convert them.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
По поводу длины понял)))
Спасибо за справку)) А с усложненной задачей как быть? Дано: Model1|status1|a1|a2|a3|...|aN| Model1|status2|a1|a2|a3|...|aN| Model2|status1|a1|a2|a3|...|aN| Model2|status2|a1|a2|a3|...|aN| Где: ModelN - это номер модели, который имеет от 3 до 4 состояний (status) a1-aN - это целочисленные значения, где 1...N это порядковый номер, т.е. номер "недели" (он находится в шапке над таблицой) Нужно: Подтянуть эти данные в диаграмму, где каждый "Status" это кривая а A1-AN это значения кривой. Вот это должно быть до вставления пустой строки. =) |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Я пас, с диаграммами не практиковался.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
Тогда, большое спасибо за науку)
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 26
|
![]()
Вопрос - а можно ли все значения объявлять как Long? или система начнет тормозить?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Составить программу вычисления значений функций, используя приём "цикл в цикле" | Chaynik011091 | Помощь студентам | 5 | 22.06.2009 21:33 |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |
Не могу разобраться с проверкой значений | CAMyM | Microsoft Office Excel | 5 | 23.10.2007 12:18 |