Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
1

Как нажатием ENTER снизу добавить строку с таким же форматированием, как только что заполненная

03.12.2013, 15:46. Показов 1867. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Совсем не пишу скрипты, но я понял, что только с его помощью пожно реализовать в экселе задуманное.
после заполнения ячейки и нажатия ENTER снизу должна добавляться строка такая же, как только что заполненная. Новая строка должна быть без данных, но с сохранением формата (цвет, границы, объединение ячеек и т.п.)

Прилагаю файл.
Например, в прилагаемом файле при текущей ячейке Е5 нажимаем Enter Ниже должна добавиться строка, при этом ячейка С6 должна войти в объединенную ячейку С4:С6.

А если потом нажать Enter в объединенной ячейке С4:С6, то должно добавиться уже 3 строки, с объединенной ячейкой С7:С9 (в идеале, хотелось бы, чтобы из объединенной ячейки добавлялось не более 2-х строк).

Спасибо
Вложения
Тип файла: xlsx Книга1.xlsx (9.9 Кб, 17 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2013, 15:46
Ответы с готовыми решениями:

Как закончить ввод данных нажатием Enter
Я делаю лабу, отгадать случайных число, Но не могу понять как в Forme закончить ввод данных с...

Как удалить символ, созданный нажатием Enter
как сделать так чтобы програма не считала Enter за символ т.е. у меня есть код который удаляет...

Как вводить значения в консоль без подтверждения нажатием Enter?
Как вводить значения в консоль без подтверждения нажатием Enter?

Как вводить числа в массив и заканчивать ввод нажатием кнопки Enter!
Всем привет, у меня такой вопрос! Как вводить числа в массив от 0 до 12 например и заканчивать ввод...

7
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
04.12.2013, 11:10  [ТС] 2
Пожалуйста, помогите с макросом!
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
04.12.2013, 12:18 3
Макрос срабатывает не на Enter, а на изменение значения в последней строке в столбцах С или E.

Добрый совет: не используйте объединенные ячейки, для автоматизации неудобно.
Вложения
Тип файла: zip формат_новой_строки.zip (17.3 Кб, 9 просмотров)
1
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
04.12.2013, 12:45  [ТС] 4
Хм... Сложный макрос получился
Только к предыдущим ячейкам уже не дает вернуться (не вставляет строки по enter)
И не удаляет нижние строки
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
04.12.2013, 15:08 5
В произвольной строке. Запускается когда активная ячейка в столбцах С или E по сочетанию клавиш Ctrl + q.
Удаление и редактирование произвольное.
Вложения
Тип файла: zip формат_новой_строки2.zip (21.2 Кб, 13 просмотров)
0
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
04.12.2013, 15:45  [ТС] 6
я где-то нашел совсем простое:

Visual Basic
1
2
3
4
5
Sub Enter2_Sub()
 Rows(ActiveCell.Row).Insert Shift:=xlUp
    If ActiveCell.Row <> 1 Then Rows(ActiveCell.Row - 1).Copy (ActiveSheet.Rows(ActiveCell.Row))
 
 End Sub
работающий по Enter

Только вот он вставляет строки сверху, а надо, чтобы снизу активной ячейки.

И если войти в объединенную ячейку, то он опять же вставляет одиночную строку сверху.

Т.е. можно ли доработать этот простой скрипт, чтобы:
1. строка вставлялась ниже активной ячейки
2. чтобы копировались и вставлялись снизу строки, принадлежащие объединенной ячейке
?
0
5606 / 1592 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
04.12.2013, 16:10 7
Если Вы скопируете этот макрос во вновь созданную книгу, то заметите, что по Enter он не работает.
После доработки должен получиться мой макрос или близкий к нему, то есть перед вставкой строки надо разбивать объединенные ячейки ниже , а потом заново объединять и использовать сложную адресацию и т.д. и т.п.
Цитата Сообщение от KoGG Посмотреть сообщение
Добрый совет: не используйте объединенные ячейки, для автоматизации неудобно.
0
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
05.12.2013, 12:09  [ТС] 8
Цитата Сообщение от KoGG Посмотреть сообщение
В произвольной строке. Запускается когда активная ячейка в столбцах С или E по сочетанию клавиш Ctrl + q.
Удаление и редактирование произвольное.
Удаление теперь работает

А вот если наплодить разделов (объединенных ячеек С), то вернуться и вставить строку в Е не получается - нарушается объединение ячеек Понятно, что объединенные ячейки зло, но без них никак.
0
05.12.2013, 12:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2013, 12:09
Помогаю со студенческими работами здесь

Как сделать так, что бы в textarea при нажатии на enter не происходил перенос на другую строку?
Как сделать так, что бы в textarea при нажатии на enter не происходил перенос на другую строку? Или...

Как вставить длинную строку с форматированием в textbox?
Есть текст: В соответствии с федеральными законами от 27.07.2010 N*190-ФЗ &quot;О теплоснабжении&quot;, от...

Как вернуть HEX (с форматированием, использовались регулярные выражения) в строку
В общем это выглядит вот так: static void Main(string args) { string input =...

Как добавить текст в Richbox снизу вверх
Как добавить текст в Richbox снизу вверх?Это мне нужно для чата. У меня есть код: Public Class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru