![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 15
|
![]()
Можно ли, чтобы при заполнении ячейки в столбце B (№ карточки пациента) из текущей строки копировалась в следующую строку:
1) значения и формат столбца A, 2) формулы и формат столбцов C:N Собственно, "п. 1)" легко делается, если знать как делается "п. 2)". Сложность еще и в том, что надо добавить макрос преобразования формул в значения в предыдущей строке. Но это, думаю, смогу осилить самостоятельно. А вот как еще сделать, чтобы при внесении значения "000" в столбец B попадало в первый столбец значение, например, "ИТОГО ЗА МЕСЯЦ" и в строку вставлялись уже другие формулы, суммирующие соответствующие значения? Не программировал более 20 лет ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
можно, например, так, см. вложение
Заполните ячейку В8 |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 20.05.2008
Сообщений: 241
|
![]()
PhilAT! Попытайте "счастье" в создании списка (XL-2003) или таблицы (XL-2007), обычно этого достаточно для того, чтобы введенные в первую под "шапкой" строку автоматом распространялись на новые строки. Правда, в значения они (формулы) сами по себе не превращаются. Да, ввод/выборку кодов можно организовать выпадающим списком (данные, проверка).
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 15
|
![]()
2 EugeneS
Спасибо! То, что надо! Тем не менее, пытаюсь препарировать. Отсюда вопросы. 1) Module2 и находящийся в нем Макрос3 не нужны уже? Я так понял, что Макрос3 был записан для того, чтобы на его основе создать? 2) После добавления значения в столбец B активной становится ячейка внизу, а надо справа, вне зависимости от предустановок в Excel. Это как можно исправить? (Догадываюсь, что элементарно, но пока просто не знаю.) Уже увидел: надо заменить Target.Offset(1, 0).Select на Target.Offset(0, 1).Select Ну, и очистка Cells(a + 1, 9) была лишней. Последний раз редактировалось PhilAT; 24.04.2010 в 14:11. Причина: Дополнил |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 15
|
![]()
2 Volodshan
Менять приложение из-за таблицы - "это же не наш метод!" ![]() А вот ввод/выборку кодов выпадающим списком - это более 300 строк в выпадающем списке? Или я не о том? |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
верно, Макрос1 и Макрос2 можно удалить.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 15
|
![]()
Там пришлось еще убрать Cells(a + 1, 3) из очищаемых, но это мелочи.
Теперь все красиво работает, но нет "защиты от дурака". То есть, по логике вещей строку надо бы заполнять, начиная с ячейки "B". Но если пользователь начинает с другой какой-нибудь ячейки - тогда некоторые формулы затираются. Можно, ведь в Excel защитить от ввода ячейки в строке, пока ячейка "B" пустая? И чтоб окошко выскакивало, типа, "А ну введи № карточки пациента!" |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
можно так, см. вложение.
Заполнять можно любые ячейки кроме тех, которые содержат формулы в незаполненной строке. Пароль на снятие защиты листа: 321456 |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 22.04.2010
Сообщений: 15
|
![]()
2 EugeneS
Хорошо, когда есть у кого спросить. Еще раз спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматическое копирование | DenProx | Microsoft Office Excel | 12 | 14.08.2010 20:25 |
Копирование формул | Nesnakomez | Microsoft Office Excel | 3 | 02.04.2010 13:17 |
Автоматическое копирование выделенной строки | Enigmatic | Microsoft Office Excel | 2 | 25.12.2009 13:08 |
Копирование формул | PIKA4Y | Microsoft Office Excel | 3 | 21.12.2009 16:05 |
автоматическое протягивание строк и формул | IFRSoff | Microsoft Office Excel | 7 | 08.04.2009 13:58 |