Суть вопроса. Создал документ Excel (2007) в котором есть всё для регистрации пациента в стационар, ФИО, возраст и т.д. в общем заполняется порядка 30-ти ячеек различной длины. Дальше этот лист распечатывается и пациент уходит с ним в отделение лечиться. Как сделать так что бы те ячейки которые я заполняю автоматически сохранялись ещё где-нибудь на ПК списком, в принципе можно и на 2-м листе того же документа. Я попытался сделать так, но всё время вставляется в одни и теже ячейки, будь то 1-й пациент, будь то 2131 (просто заменяя первого). [vba]
Код
Sub Макрос3() ' ' Макрос3 Макрос '
' Selection.Copy Sheets("Лист2").Select Range("A2").Select ActiveSheet.Paste Sheets("Лист1").Select Range("K6:M6").Select Application.CutCopyMode = False Selection.Copy Sheets("Лист2").Select Range("B2:D2").Select ActiveSheet.Paste Range("A3").Select Sheets("Лист1").Select End Sub
[/vba]
Ещё: В исходнике вот так: МЕДИЦИНСКАЯ КАРТА АМБУЛАТОРНОГО БОЛЬНОГО № 44445 1.Фамилия Иванов 2. Имя Антон 3. Отчество Иванович 4. Пол: М 5. Дата рождения: 16.09.1984г. 6. Адрес проживания: страна: Таджикистан область: Жети-Карасуйская
А в дополнительном файле который нужно сохранить на компе должно получиться так 44445 Иванов Антон М 16.09.1984г. Таджикистан Жети-Карасуйская потом следующий 44446 и так далее.
А лучше даже так: 44446 и так далее. 44445 Иванов Антон М 16.09.1984г. Таджикистан Жети-Карасуйская Заранее благодарен.
[admin] tyuj88, предупреждаю: оформляйте коды тегами![/admin]
Суть вопроса. Создал документ Excel (2007) в котором есть всё для регистрации пациента в стационар, ФИО, возраст и т.д. в общем заполняется порядка 30-ти ячеек различной длины. Дальше этот лист распечатывается и пациент уходит с ним в отделение лечиться. Как сделать так что бы те ячейки которые я заполняю автоматически сохранялись ещё где-нибудь на ПК списком, в принципе можно и на 2-м листе того же документа. Я попытался сделать так, но всё время вставляется в одни и теже ячейки, будь то 1-й пациент, будь то 2131 (просто заменяя первого). [vba]
Код
Sub Макрос3() ' ' Макрос3 Макрос '
' Selection.Copy Sheets("Лист2").Select Range("A2").Select ActiveSheet.Paste Sheets("Лист1").Select Range("K6:M6").Select Application.CutCopyMode = False Selection.Copy Sheets("Лист2").Select Range("B2:D2").Select ActiveSheet.Paste Range("A3").Select Sheets("Лист1").Select End Sub
[/vba]
Ещё: В исходнике вот так: МЕДИЦИНСКАЯ КАРТА АМБУЛАТОРНОГО БОЛЬНОГО № 44445 1.Фамилия Иванов 2. Имя Антон 3. Отчество Иванович 4. Пол: М 5. Дата рождения: 16.09.1984г. 6. Адрес проживания: страна: Таджикистан область: Жети-Карасуйская
А в дополнительном файле который нужно сохранить на компе должно получиться так 44445 Иванов Антон М 16.09.1984г. Таджикистан Жети-Карасуйская потом следующий 44446 и так далее.
А лучше даже так: 44446 и так далее. 44445 Иванов Антон М 16.09.1984г. Таджикистан Жети-Карасуйская Заранее благодарен.
[admin] tyuj88, предупреждаю: оформляйте коды тегами![/admin]tyuj88
Сообщение отредактировал tyuj88 - Воскресенье, 17.03.2013, 02:16
Я предлагаю делать наоборот. Заполняйте второй лист, а на первом ВПРом тяните данные по номеру. Это если без макросов. Ну а если макрос - можно при изменении выделения на втором листе писать номер из активной строки на первый, остальное делает ВПР(). Ну и это не мешает вручную изменить номер и распечатать любого другого не переходя по листам, если известен номер.
Я предлагаю делать наоборот. Заполняйте второй лист, а на первом ВПРом тяните данные по номеру. Это если без макросов. Ну а если макрос - можно при изменении выделения на втором листе писать номер из активной строки на первый, остальное делает ВПР(). Ну и это не мешает вручную изменить номер и распечатать любого другого не переходя по листам, если известен номер.Hugo
спасибо, теперь ставит следующий порядковый номер вниз, но усердно заменяет 2,3 и последующие ячейки, новым пациентом стирая старого. Заполнять второй лист не пойдёт, порядка 30 ячеек, люди которые будут заполнять запутаются. А неужели нельзя без лишних телодвижения, смещать полученную ранее строку на 2-м листе вниз?
спасибо, теперь ставит следующий порядковый номер вниз, но усердно заменяет 2,3 и последующие ячейки, новым пациентом стирая старого. Заполнять второй лист не пойдёт, порядка 30 ячеек, люди которые будут заполнять запутаются. А неужели нельзя без лишних телодвижения, смещать полученную ранее строку на 2-м листе вниз?tyuj88
Т.е. Вы сейчас делаете так - в неведомую форму в неведомом порядке забиваете данные, затем вероятно печатаете, затем (если не забыли) нажимаете копку, чтоб занести данные в базу (обязательно нажать, и обязательно один раз!). Я предлагаю наоборот - заполнять базу (строгий порядок, переходить можно по энтер), затем печатать форму (если нужно). Печатать можно нажав кнопку - форма заполнится и распечатается. Можно сделать чтоб последней записью, можно чтоб любой. Можно сделать, чтоб форма заполнялась сама при переходе по строкам, тогда отправлять на печать можно как угодно. Можно форму сделать на листе базы, в шапке - чтоб по листам не ходить (занести только её в область печати). В общем, вариантов много, пока Вы выбрали имхо не самый удачный. Если хочется узнать как сместить строку - ну запишите рекордером, Вы ведь уже умеете...
Т.е. Вы сейчас делаете так - в неведомую форму в неведомом порядке забиваете данные, затем вероятно печатаете, затем (если не забыли) нажимаете копку, чтоб занести данные в базу (обязательно нажать, и обязательно один раз!). Я предлагаю наоборот - заполнять базу (строгий порядок, переходить можно по энтер), затем печатать форму (если нужно). Печатать можно нажав кнопку - форма заполнится и распечатается. Можно сделать чтоб последней записью, можно чтоб любой. Можно сделать, чтоб форма заполнялась сама при переходе по строкам, тогда отправлять на печать можно как угодно. Можно форму сделать на листе базы, в шапке - чтоб по листам не ходить (занести только её в область печати). В общем, вариантов много, пока Вы выбрали имхо не самый удачный. Если хочется узнать как сместить строку - ну запишите рекордером, Вы ведь уже умеете...Hugo
Дата: Воскресенье, 21.04.2013, 07:37 |
Сообщение № 7
Группа: Гости
У меня просто ВЗОРВАЛАСЬ голова!!! Помогите!!! Смысл такой есть несколько листов в которых внесены данные. Примерно 50 строк на 20 столбцов. Сформированы они по дате поступления. Ну это не суть. Суть вот в чем : необходимо, чтобы строки в которых не заполнены определенные ячейки копировались на второй лист, а при заполнении этих ячеек со второго листа убирались и перемещались на третий лист, при этом в исходном листе ничего меняться не должно. Ума не приложу как это реализовать подскажите пожалуйста!!!
У меня просто ВЗОРВАЛАСЬ голова!!! Помогите!!! Смысл такой есть несколько листов в которых внесены данные. Примерно 50 строк на 20 столбцов. Сформированы они по дате поступления. Ну это не суть. Суть вот в чем : необходимо, чтобы строки в которых не заполнены определенные ячейки копировались на второй лист, а при заполнении этих ячеек со второго листа убирались и перемещались на третий лист, при этом в исходном листе ничего меняться не должно. Ума не приложу как это реализовать подскажите пожалуйста!!!Роман