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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как вставить пустые строки после изменения значений в столбц (Форматирование)
Как вставить пустые строки после изменения значений в столбц
SergeyKorotun Дата: Пятница, 21.06.2013, 23:40 | Сообщение № 1
Группа: Гости
Есть таблица (для примера подойдет и с одной колонкой):
1
2
2
3
3
3
Нужно вставить пустую стоку после изменения значения в столбце. Итоговая таблица должна выглядеть так:
1

2
2

3
3
3
 
Ответить
СообщениеЕсть таблица (для примера подойдет и с одной колонкой):
1
2
2
3
3
3
Нужно вставить пустую стоку после изменения значения в столбце. Итоговая таблица должна выглядеть так:
1

2
2

3
3
3

Автор - SergeyKorotun
Дата добавления - 21.06.2013 в 23:40
Serge_007 Дата: Пятница, 21.06.2013, 23:59 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (SergeyKorotun)
Нужно вставить пустую стоку
Какой в этом смысл? Вы будете потом любоваться на пустые строки? Или следующим Вашим вопросом станет поставить туда итоги по каждому значению? Так итоги и сразу можно поставить. Или ещё зачем? Какова конечная цель?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (SergeyKorotun)
Нужно вставить пустую стоку
Какой в этом смысл? Вы будете потом любоваться на пустые строки? Или следующим Вашим вопросом станет поставить туда итоги по каждому значению? Так итоги и сразу можно поставить. Или ещё зачем? Какова конечная цель?

Автор - Serge_007
Дата добавления - 21.06.2013 в 23:59
SergeyKorotun Дата: Суббота, 22.06.2013, 00:13 | Сообщение № 3
Группа: Гости
Нужно отделить данные разных клиентов, чтобы после распечатки их можно было разрезать по пустой строке.
В приведенной таблице значения 1,2,3 и есть идентификаторы клиентов.
Следующим вопросом было бы: как задать нужную мне высоту вставляемых пустых строк или как вместо одной строки вставить несколько пустых строк.
 
Ответить
СообщениеНужно отделить данные разных клиентов, чтобы после распечатки их можно было разрезать по пустой строке.
В приведенной таблице значения 1,2,3 и есть идентификаторы клиентов.
Следующим вопросом было бы: как задать нужную мне высоту вставляемых пустых строк или как вместо одной строки вставить несколько пустых строк.

Автор - SergeyKorotun
Дата добавления - 22.06.2013 в 00:13
Serge_007 Дата: Суббота, 22.06.2013, 00:22 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
На месте - только макросом. Тоже самое и с высотой и количеством строк

Рядом - можно сводной таблицей (начиная с Excel 2007). Но только одну строку и такой же высоты как и остальные


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНа месте - только макросом. Тоже самое и с высотой и количеством строк

Рядом - можно сводной таблицей (начиная с Excel 2007). Но только одну строку и такой же высоты как и остальные

Автор - Serge_007
Дата добавления - 22.06.2013 в 00:22
SergeyKorotun Дата: Суббота, 22.06.2013, 00:47 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
А пример можно? Если макросом сложно, то покажите как реализовать с помощью сводной таблицы. Таблицу присоединил. Разделить по значениям в 1 столбце.
К сообщению приложен файл: test.xlsx (8.3 Kb)


Сообщение отредактировал SergeyKorotun - Суббота, 22.06.2013, 00:55
 
Ответить
СообщениеА пример можно? Если макросом сложно, то покажите как реализовать с помощью сводной таблицы. Таблицу присоединил. Разделить по значениям в 1 столбце.

Автор - SergeyKorotun
Дата добавления - 22.06.2013 в 00:47
Скрипт Дата: Суббота, 22.06.2013, 07:50 | Сообщение № 6
Группа: Проверенные
Ранг: Участник
Сообщений: 61
Репутация: 25 ±
Замечаний: 0% ±

Excel 2013
Макрос написан для книги из сообщения № 5.



Сообщение отредактировал Скрипт - Суббота, 22.06.2013, 07:52
 
Ответить
СообщениеМакрос написан для книги из сообщения № 5.


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

Excel 2007
VBA не знаю, но интуиция подсказывает что для реальной таблицы в
tblA() = Range("A1:A6").Value
нужно только A1:A6 изменить на начальную и конечную ячейку обрабатываемого столбца реальной таблицы?
А как изменить высоту вставляемой строки (или указать конкретное значение, или задать множитель, на который нужно умножить высоту предыдущей или следующей строки )?
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow поместить в цикл?

PS Один из вариантов решения - повторный запуск макроса. Каждый следующий запуск добавляет по две строки.


Сообщение отредактировал SergeyKorotun - Суббота, 22.06.2013, 12:40
 
Ответить
СообщениеVBA не знаю, но интуиция подсказывает что для реальной таблицы в
tblA() = Range("A1:A6").Value
нужно только A1:A6 изменить на начальную и конечную ячейку обрабатываемого столбца реальной таблицы?
А как изменить высоту вставляемой строки (или указать конкретное значение, или задать множитель, на который нужно умножить высоту предыдущей или следующей строки )?
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow поместить в цикл?

PS Один из вариантов решения - повторный запуск макроса. Каждый следующий запуск добавляет по две строки.

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

Excel 2007
А как вставить не пустую строку, а например много символов "-", чтобы разрезать было легко?


Сообщение отредактировал SergeyKorotun - Суббота, 22.06.2013, 13:31
 
Ответить
СообщениеА как вставить не пустую строку, а например много символов "-", чтобы разрезать было легко?

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

Excel 2013
SergeyKorotun, в VBA-Excel нет готового инструмента для определения последней строки с данными на Excel-листе, чтобы указать макросу, с какими строками работать.

Существует много всяких способов определения последней строки, с которой надо работать на Excel-листе.

Предложу такой способ для книги из сообщения № 5.



Сообщение отредактировал Скрипт - Суббота, 22.06.2013, 13:45
 
Ответить
СообщениеSergeyKorotun, в VBA-Excel нет готового инструмента для определения последней строки с данными на Excel-листе, чтобы указать макросу, с какими строками работать.

Существует много всяких способов определения последней строки, с которой надо работать на Excel-листе.

Предложу такой способ для книги из сообщения № 5.


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

Excel 2007
А как с помощью макроса вставить не пустую строку, а например строку, состоящую из n символов "-", чтобы по ней разрезать было удобно?
 
Ответить
СообщениеА как с помощью макроса вставить не пустую строку, а например строку, состоящую из n символов "-", чтобы по ней разрезать было удобно?

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

Excel 2013
SergeyKorotun, а как бы вы сделали эту пунктирную линию без макросов?

Если вы напишите, как эту линию делать без макросов, то может вам помогут сделать макрос, который будет такие же действия.
 
Ответить
СообщениеSergeyKorotun, а как бы вы сделали эту пунктирную линию без макросов?

Если вы напишите, как эту линию делать без макросов, то может вам помогут сделать макрос, который будет такие же действия.

Автор - Скрипт
Дата добавления - 22.06.2013 в 14:28
Serge_007 Дата: Суббота, 22.06.2013, 14:29 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (SergeyKorotun)
как с помощью макроса вставить не пустую строку, а например строку, состоящую из n символов "-"
Мне, как "формулисту", милее вариант пройтись циклом по получившемуся после вставки пустых ячеек диапазону и в каждую пустую ячейку вставить функцией листа rept("-",n)
ИМХО

ЗЫ Кстати, Скрипт, это ответ и на Ваш вопрос wink


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (SergeyKorotun)
как с помощью макроса вставить не пустую строку, а например строку, состоящую из n символов "-"
Мне, как "формулисту", милее вариант пройтись циклом по получившемуся после вставки пустых ячеек диапазону и в каждую пустую ячейку вставить функцией листа rept("-",n)
ИМХО

ЗЫ Кстати, Скрипт, это ответ и на Ваш вопрос wink

Автор - Serge_007
Дата добавления - 22.06.2013 в 14:29
SergeyKorotun Дата: Суббота, 22.06.2013, 15:14 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Надо немного изменить макрос пользователя Скрипт

'После этой строки макроса
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
'вставить:

'Всавить пустую строку
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
'И после второй вставленной строки цикл от 1 до количества колонок в таблице
'и в теле цикла вставка в текущую ячейку хотя бы одного символа "-"
'чтобы были направляющие для ножниц
'или если возможно подсчитать количество символов в сроке, то без цикла
'в первую ячейку вставить посчитанное количество "-"

'Всавить пустую строку
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow

В итоге строки таблицы будут разбиты на группы, разделенные
пустой строкой
строкой из каким то набором символов "-" в зависимости от выбранного алгоритма
и еще одной пустой строкой

[admin]Оформляйте коды тегами![/admin]
 
Ответить
СообщениеНадо немного изменить макрос пользователя Скрипт

'После этой строки макроса
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
'вставить:

'Всавить пустую строку
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
'И после второй вставленной строки цикл от 1 до количества колонок в таблице
'и в теле цикла вставка в текущую ячейку хотя бы одного символа "-"
'чтобы были направляющие для ножниц
'или если возможно подсчитать количество символов в сроке, то без цикла
'в первую ячейку вставить посчитанное количество "-"

'Всавить пустую строку
Rows(i).Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow

В итоге строки таблицы будут разбиты на группы, разделенные
пустой строкой
строкой из каким то набором символов "-" в зависимости от выбранного алгоритма
и еще одной пустой строкой

[admin]Оформляйте коды тегами![/admin]

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

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

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

Excel 2007
Цитата (Скрипт)
tblA() = Range("A1:A" & myLastRow).Value

Можно сделать так, чтобы Название столбца вначале или запрашивалось бы, или подставлялся бы предварительно выделенный столбец, чтобы не учить пользователя править макрос.

[vba]
Код
Dim nameColumn As String
...
вызов формы, чтобы пользователь ввел имя столбца (если можно считать имя выделенного столбца, эта строка не нужна)
...
nameColumn = значению из формы или из выделенного столбца
tblA() = Range(& nameColumn "1:" & nameColumn & myLastRow).Value
[/vba]

[admin]Используйте теги при оформлении кода![/admin]
Поправил. Я не считал тот текст кодом. Там была формулировка задания какие изменения нужно внести в код.


Сообщение отредактировал SergeyKorotun - Воскресенье, 23.06.2013, 15:36
 
Ответить
Сообщение
Цитата (Скрипт)
tblA() = Range("A1:A" & myLastRow).Value

Можно сделать так, чтобы Название столбца вначале или запрашивалось бы, или подставлялся бы предварительно выделенный столбец, чтобы не учить пользователя править макрос.

[vba]
Код
Dim nameColumn As String
...
вызов формы, чтобы пользователь ввел имя столбца (если можно считать имя выделенного столбца, эта строка не нужна)
...
nameColumn = значению из формы или из выделенного столбца
tblA() = Range(& nameColumn "1:" & nameColumn & myLastRow).Value
[/vba]

[admin]Используйте теги при оформлении кода![/admin]
Поправил. Я не считал тот текст кодом. Там была формулировка задания какие изменения нужно внести в код.

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

Excel 2013
SergeyKorotun, макрос работает со столбцом, где находится активная ячейка. Активной в программе "Excel" может быть только одна ячейка.

Перед запуском макроса можно просто делать активной ячейку в нужном столбце или можно выделять весь столбец - как пользователю будет удобнее.

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

Перед запуском макроса можно просто делать активной ячейку в нужном столбце или можно выделять весь столбец - как пользователю будет удобнее.


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

Excel 2007
Иногда надо группировать по значениям не одного поля, а по нескольким. Хотел сам изменения в код внести, но после сегодняшней правки не сумею. Если можно внесите изменения в последний скрипт для группировки по 2 соседних столбцах. Курсором будет выделена ячейка первого столбца, участвующего в группировке.
И приведите другие значения свойства LineStyle и Weight
 
Ответить
СообщениеИногда надо группировать по значениям не одного поля, а по нескольким. Хотел сам изменения в код внести, но после сегодняшней правки не сумею. Если можно внесите изменения в последний скрипт для группировки по 2 соседних столбцах. Курсором будет выделена ячейка первого столбца, участвующего в группировке.
И приведите другие значения свойства LineStyle и Weight

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

Excel 2013
Цитата (SergeyKorotun)
Иногда надо группировать по значениям не одного поля, а по нескольким.

вы под словом "поле" подразумеваете слово "столбец"? В программе "Excel" столбцы называются столбцами. Это в программе "Access" столбец называется полем.

Или вы подразумеваете что-то другое?
 
Ответить
Сообщение
Цитата (SergeyKorotun)
Иногда надо группировать по значениям не одного поля, а по нескольким.

вы под словом "поле" подразумеваете слово "столбец"? В программе "Excel" столбцы называются столбцами. Это в программе "Access" столбец называется полем.

Или вы подразумеваете что-то другое?

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

Excel 2007
под полем имел ввиду столбец
 
Ответить
Сообщениепод полем имел ввиду столбец

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

Excel 2013
Пункт 1

SergeyKorotun, сформируйте Excel-книгу с примерными данными и на основе этой книги поясните, что должен сделать макрос.

Пункт 2

Цитата (SergeyKorotun)
И приведите другие значения свойства LineStyle и Weight

я эти значения получил с помощью макрорекордера.
 
Ответить
СообщениеПункт 1

SergeyKorotun, сформируйте Excel-книгу с примерными данными и на основе этой книги поясните, что должен сделать макрос.

Пункт 2

Цитата (SergeyKorotun)
И приведите другие значения свойства LineStyle и Weight

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

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

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