Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.07.2009, 20:04   #11
gleod
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 47
По умолчанию

Люби Друзи Форумчане!!!
Неужели никто не знает как написать макрос для добавления новых строк и удаления старых строк из таблицы. И желательно чтобы перед добавлением строки Ексель спрашивал в какое место ее вставить, а при удалении существующей строки - Ексель также спрашивал: строку из каким ФИО работника надо удалить со списка нажатием на спецкнопки.
Пример файла, вверху.

Последний раз редактировалось gleod; 18.07.2009 в 20:22.
gleod вне форума
Старый 18.07.2009, 20:39   #12
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Уважаемые, проверьте работоспособность файла, а то совесть мучает, если брак.
pivas вне форума
Старый 19.07.2009, 10:46   #13
gleod
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 47
По умолчанию

Цитата:
Сообщение от pivas Посмотреть сообщение
Уважаемые, проверьте работоспособность файла, а то совесть мучает, если брак.
Если Вы имеете ввиду тот примерчик, что висит на первой странице, то я уже сообщал ВамЮ что он не работает как надо.
С уважением Gleod!!!
gleod вне форума
Старый 19.07.2009, 13:07   #14
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от gleod Посмотреть сообщение
Если Вы имеете ввиду тот примерчик, что висит на первой странице, то я уже сообщал Вам, что он не работает как надо.
С уважением Gleod!!!
Что значит - не работает?
У всех работает, а у Вас - нет...
Что у Вас происходит при нажатии на кнопки "Вставить строку" и "Удалить строку"?
Пробовали ли Вы запускать эти макросы через Alt + F8?

PS: На форуме множество примеров по вставке\удалению строк с сохранением формул.
Я только делал 2 или 3 макроса (в том числе с добавлением пунктов в контекстное меню ячеек). Вам остаётся только поискать...
EducatedFool вне форума
Старый 20.07.2009, 12:41   #15
gleod
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 47
По умолчанию

Ответ Gleod. Автора обсуждаемой темы.
Отвечаю: «Что значит - не работает?».
1) При нажатии на кнопки "Вставить строку" или "Удалить строку". После вызова на экран монитора соответственного диалогового окна Ексель продолжает что то искать. Например, когда ставиш курсор на само диалоговое окно, то он принимает обычную, в таких случаях форму. А если этот курсор ставлю в любую ячейку таблицы (при выпавшем окне), то курсор принимает форму режима поиска (впечатление такое, вроди бы Ексель продолжает поиск неизвестно чего).
2) При вставке новой строки в самый конец именованого диапазона (в даном случае строки под номером 31, то есть, строки которая будет располагаться над\перед строкой Всего, формулы этой строки выдают ошибку типа #ЗНАЧ!.
3) При копировании листа на следующий месяц, при вызове макросов с помощью кнопок, они перестают работать.И только при вызове этих макросров с помощью клавиш, либо через меню Сервис, начинают работать, но с теми же ошибками, что и выше.
4) Хотелось бы, чтобы запись № удаляемой либо № добавляемой строки, в окошко соответственного диалогового окна (вставка/удаление строки), можно было вносить посредством одного или двух щелчков мышки на ячейках с ФИО работников, выбраных пользователем.
5) А что касается «У всех работает, а у Вас - нет...», то я думаю, описаные мною выше неполадки, может обнаружить, лишь тот пользователь, который соприкоснется с даной програмкой на практике. А именно, когда ему придется добавлять новых сотрудников в самый конец существующего списка.
С уважением к Вам, Gleod!!!
gleod вне форума
Старый 20.07.2009, 13:14   #16
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Для работы без диалога замените
Код:
x = InputBox("Введите номер новой строки")
на
Код:
x = ActiveCell.Rows.Row
на встаку и
Код:
x = InputBox("Введите номер удаляемой строки")
на
Код:
x = ActiveCell.Rows.Row
на удаление. Теперь выбираете ячейку и нажимаете кнопку. Для работы макроса на каждом листе перенесите их в общий модуль книги. С 31 строкой буду разбираться.

Последний раз редактировалось pivas; 20.07.2009 в 13:15. Причина: дополнение
pivas вне форума
Старый 20.07.2009, 13:35   #17
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Нашлась ошибка 31 строки. У Вас формулы составлены на основе диапазонов. При вставке строки между строк диапазона он расширяется автоматически, а при вставке в конец, строка в диапазон не добавляется. Вывод надо писать макрос на расширение диапазона или переписывать формулы по ячейкам.
pivas вне форума
Старый 20.07.2009, 18:15   #18
gleod
Пользователь
 
Регистрация: 30.12.2008
Сообщений: 47
По умолчанию

И снова Gleod. Автор обсуждаемой темы.
Господин Pivas! А что, тоже самое, но из сохранением диалога, сделать нельзя? Потому что без такого диалога, можно случайно удалить нужную строку, либо добавить ненужную. И было бы великолепно, если удаляемое со списка ФИО, появлялось в окошке формы. А при вставке новой строки ФИО нового работника, можно было ввести через окошко этой формы. Но второе - так, на Ваше усмотрение!!!
И, что касается 31 строки. Подскажите, пожалуйста, где такой макрос можно найти (потому как я, ЧАЙНИК, в этом деле не силен), либо предложите свой вариант.
И в отношении переделки формул, например, если я пробую вручную расширить в существующих формулах именованые диапазоны, то вставка 31-ой строки происходит без предыдущей ошибки, но эта строка почему то не попадает в итоговую сумму Всего:.И в новую строку копируются не только формулы, но и форматы нижней строки. Что в конкретном случае (последней 31строки), является неприемлимым вариантом. Так как копирует жирные линии нижней (32-ой) строки в добавляемую строку.
Очевидно, что без специального макроса здесь не обойтись.
С безграничным уважением к Вам, Gleod!!!
Файл с изменениями додаю.
Вложения
Тип файла: rar КнигаЗП с изменениями.rar (24.7 Кб, 19 просмотров)

Последний раз редактировалось gleod; 20.07.2009 в 18:40.
gleod вне форума
Старый 20.07.2009, 18:17   #19
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Если можно, чуть позже. Доберусь до дома.
pivas вне форума
Старый 20.07.2009, 21:07   #20
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Посмотрите пока вставку и удаление:
Вложения
Тип файла: rar КнигаЗП с изменениями.rar (23.9 Кб, 89 просмотров)
pivas вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#: Добавить, Изменить и удалить строку в бд Veiron Общие вопросы .NET 1 10.06.2009 09:25
Построение графика нажатием на кнопку Pavel_Ine Microsoft Office Excel 6 08.05.2009 21:09
Добавить строку в ДБГрид и удалить MbIJIO БД в Delphi 4 18.04.2009 12:45
как изменить строку формул? Alexims Microsoft Office Excel 0 14.03.2009 23:37
Как на кнопку добавить картинку? xTANATOSx Общие вопросы Delphi 3 05.11.2007 13:11