Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как вставить пустые строки после изменения значений в столбц - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как вставить пустые строки после изменения значений в столбц (Форматирование)
Как вставить пустые строки после изменения значений в столбц
SergeyKorotun Дата: Воскресенье, 23.06.2013, 16:39 | Сообщение № 21
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
присоединил
К сообщению приложен файл: test3.xlsx (11.1 Kb)
 
Ответить
Сообщениеприсоединил

Автор - SergeyKorotun
Дата добавления - 23.06.2013 в 16:39
Скрипт Дата: Воскресенье, 23.06.2013, 17:11 | Сообщение № 22
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
 
Ответить
Сообщение

Автор - Скрипт
Дата добавления - 23.06.2013 в 17:11
SergeyKorotun Дата: Воскресенье, 23.06.2013, 18:14 | Сообщение № 23
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Работает, но ожидал другую реализацию, за один проход. Недостаток в том, что если добавится еще одна подгруппа по третьему столбцу, макрос придется не немного подправить, а добавить третий блок, в котором кол-во проверок возрастет.
Совсем не знаю VBА, но из вашего кода вижу что логические операции поддерживаются.
На каком то несуществующем языке полупрограмму-полуалгоритм вижу так:
[vba]
Код
go bottom //стать на последнюю строку
st_1=A1 // присвоить значение ячейки колонки А1 последней строки
st_2=A2 // присвоить значение ячейки колонки А2 последней строки
do while not bof() // цикл от последней строки до первой
       skip -1             // подняться на одну строку вверх       
       if st_1<>a1     // если в текущей строке и в следующей значения разные,
                    // то здесь нужно группы разделить    
          здесь после текущей строки вставляем две строки с разделителем из пунктирной линии
          skip -1  //
          skip -1  //возврат на текущую строку, в VBA не надо, так как обрабатывается массив    
       endif
       if st_1=a1  and st_2<>a2 // перехода через группу нет, а  через подгруппу есть
          здесь нужно добавить одну пустую строку
          skip -1 //возврат на текущую строку, в VBA не надо, так как обрабатывается массив    
       endif    
       // если оба условия не выполняются, то ничего не делается      
       st_1=A1  // присвоить значение ячейки колонки А1 текущей строки
       st_2=A2 // // присвоить значение ячейки колонки А2 текущей строки
end do
[/vba]


Сообщение отредактировал SergeyKorotun - Воскресенье, 23.06.2013, 18:17
 
Ответить
СообщениеРаботает, но ожидал другую реализацию, за один проход. Недостаток в том, что если добавится еще одна подгруппа по третьему столбцу, макрос придется не немного подправить, а добавить третий блок, в котором кол-во проверок возрастет.
Совсем не знаю VBА, но из вашего кода вижу что логические операции поддерживаются.
На каком то несуществующем языке полупрограмму-полуалгоритм вижу так:
[vba]
Код
go bottom //стать на последнюю строку
st_1=A1 // присвоить значение ячейки колонки А1 последней строки
st_2=A2 // присвоить значение ячейки колонки А2 последней строки
do while not bof() // цикл от последней строки до первой
       skip -1             // подняться на одну строку вверх       
       if st_1<>a1     // если в текущей строке и в следующей значения разные,
                    // то здесь нужно группы разделить    
          здесь после текущей строки вставляем две строки с разделителем из пунктирной линии
          skip -1  //
          skip -1  //возврат на текущую строку, в VBA не надо, так как обрабатывается массив    
       endif
       if st_1=a1  and st_2<>a2 // перехода через группу нет, а  через подгруппу есть
          здесь нужно добавить одну пустую строку
          skip -1 //возврат на текущую строку, в VBA не надо, так как обрабатывается массив    
       endif    
       // если оба условия не выполняются, то ничего не делается      
       st_1=A1  // присвоить значение ячейки колонки А1 текущей строки
       st_2=A2 // // присвоить значение ячейки колонки А2 текущей строки
end do
[/vba]

Автор - SergeyKorotun
Дата добавления - 23.06.2013 в 18:14
Скрипт Дата: Воскресенье, 23.06.2013, 18:30 | Сообщение № 24
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
SergeyKorotun, да, вы правы, есть другой способ решения вашей задачи:

 
Ответить
СообщениеSergeyKorotun, да, вы правы, есть другой способ решения вашей задачи:


Автор - Скрипт
Дата добавления - 23.06.2013 в 18:30
SergeyKorotun Дата: Воскресенье, 23.06.2013, 18:59 | Сообщение № 25
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Завтра девки мне скажут спасибо, а я вам + добавлю
 
Ответить
СообщениеЗавтра девки мне скажут спасибо, а я вам + добавлю

Автор - SergeyKorotun
Дата добавления - 23.06.2013 в 18:59
SergeyKorotun Дата: Понедельник, 24.06.2013, 18:23 | Сообщение № 26
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
А можно еще после вставки двух пустых строк с пунктирной границей между ними вставлять еще и первую строку, чтобы в каждой группы была своя шапка
 
Ответить
СообщениеА можно еще после вставки двух пустых строк с пунктирной границей между ними вставлять еще и первую строку, чтобы в каждой группы была своя шапка

Автор - SergeyKorotun
Дата добавления - 24.06.2013 в 18:23
Скрипт Дата: Понедельник, 24.06.2013, 19:01 | Сообщение № 27
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
 
Ответить
Сообщение

Автор - Скрипт
Дата добавления - 24.06.2013 в 19:01
SergeyKorotun Дата: Понедельник, 24.06.2013, 19:45 | Сообщение № 28
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Немного не так. Вставляться должно не "шапка группы", а существующая строка из этой же таблицы, в которой подписаны наименования столбцов. В прикрепленном файле на первом листе заготовка, а на втором - что должно получиться после работы макроса. Теперь курсор будет устанавливаться не только в первый столбец, участвующий в группировке, но еще и на строку с шапкой. Но параметр цикла можно оставить и 1, лишнюю первую шапку можно удалить вручную.
К сообщению приложен файл: test4.xlsm (17.3 Kb)
 
Ответить
СообщениеНемного не так. Вставляться должно не "шапка группы", а существующая строка из этой же таблицы, в которой подписаны наименования столбцов. В прикрепленном файле на первом листе заготовка, а на втором - что должно получиться после работы макроса. Теперь курсор будет устанавливаться не только в первый столбец, участвующий в группировке, но еще и на строку с шапкой. Но параметр цикла можно оставить и 1, лишнюю первую шапку можно удалить вручную.

Автор - SergeyKorotun
Дата добавления - 24.06.2013 в 19:45
Скрипт Дата: Понедельник, 24.06.2013, 20:03 | Сообщение № 29
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
SergeyKorotun, на Excel-листе в первой строке есть заголовок.
Есть два варианта вставки этого заголовка в другие места листа:
  • с сохранением форматирования. Под форматированием понимается: цвет шрифта, размер шрифта, заливка ячеек и т.д.;
  • вставка только текста заголовка.

Второй вариант будет быстрее работать, если макросу нужно работать с большим количеством данных.

Какой вариант должен делать макрос?
 
Ответить
СообщениеSergeyKorotun, на Excel-листе в первой строке есть заголовок.
Есть два варианта вставки этого заголовка в другие места листа:
  • с сохранением форматирования. Под форматированием понимается: цвет шрифта, размер шрифта, заливка ячеек и т.д.;
  • вставка только текста заголовка.

Второй вариант будет быстрее работать, если макросу нужно работать с большим количеством данных.

Какой вариант должен делать макрос?

Автор - Скрипт
Дата добавления - 24.06.2013 в 20:03
SergeyKorotun Дата: Понедельник, 24.06.2013, 20:57 | Сообщение № 30
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
с форматированием
 
Ответить
Сообщениес форматированием

Автор - SergeyKorotun
Дата добавления - 24.06.2013 в 20:57
Скрипт Дата: Понедельник, 24.06.2013, 21:12 | Сообщение № 31
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
 
Ответить
Сообщение

Автор - Скрипт
Дата добавления - 24.06.2013 в 21:12
SergeyKorotun Дата: Понедельник, 24.06.2013, 23:09 | Сообщение № 32
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
hands
 
Ответить
Сообщениеhands

Автор - SergeyKorotun
Дата добавления - 24.06.2013 в 23:09
Алекс Дата: Четверг, 19.09.2013, 09:23 | Сообщение № 33
Группа: Гости
Добрый день!
Необходим аналогичный макрос - добавление пустой строки после изменения значения в столбце и суммирование по всем столбцам в этой пустой строке, подскажите как добиться этого Вашими предложенными макросами?
 
Ответить
СообщениеДобрый день!
Необходим аналогичный макрос - добавление пустой строки после изменения значения в столбце и суммирование по всем столбцам в этой пустой строке, подскажите как добиться этого Вашими предложенными макросами?

Автор - Алекс
Дата добавления - 19.09.2013 в 09:23
lexkaz Дата: Пятница, 17.07.2015, 09:07 | Сообщение № 34
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Люди добрые помогите плиз

мне нужно тоже самое только вместо линии надо вставить последнее значение
я знаю что тут просто вместо линии написать оператор с последним значением но не знаю как ...

БОЛЬШОЕ СПАСИБО !!!
[moder]Хоть вопрос и похожий, но все-таки немного другой. А посему отсылаю Вас к пункту 5q Правил форума, а тему закрываю.


topsa.kz

Сообщение отредактировал _Boroda_ - Пятница, 17.07.2015, 09:18
 
Ответить
СообщениеЛюди добрые помогите плиз

мне нужно тоже самое только вместо линии надо вставить последнее значение
я знаю что тут просто вместо линии написать оператор с последним значением но не знаю как ...

БОЛЬШОЕ СПАСИБО !!!
[moder]Хоть вопрос и похожий, но все-таки немного другой. А посему отсылаю Вас к пункту 5q Правил форума, а тему закрываю.

Автор - lexkaz
Дата добавления - 17.07.2015 в 09:07
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как вставить пустые строки после изменения значений в столбц (Форматирование)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!