Добрый день. Имеется лист 1, в который вносятся данные. Они дублируются на лист 2 в строку №3 формулой вида "=Лист1!A1". Каким образом можно заблокировать введённые данные в строке №3 листа 2, чтобы при изменении данных на листе 1, внести изменённые данные в строку №4 листа 2 и так далее.
Т.е. другими словами в лист № 1 будут перезаписывать данные, и нужно чтобы данные с него собирались в таблицу на листе №2. Надеюсь я понятно написал. Пытался каждую ячейку листа 2 закрепить при помощи F4, но безрезультатно. Может есть какой-то другой способ дублирования данных, но увы я додумался только до этого. Надеюсь на Вашу помощь.
Пример в приложении.
P.S. Долго думал в каком разделе создать тему "Вопросы по Excel" или "Excel и другие приложения", и создал в последнем. Если раздел выбран не верно, прошу не бить, и перенести модераторов в соответствующий раздел. Спасибо.
Добрый день. Имеется лист 1, в который вносятся данные. Они дублируются на лист 2 в строку №3 формулой вида "=Лист1!A1". Каким образом можно заблокировать введённые данные в строке №3 листа 2, чтобы при изменении данных на листе 1, внести изменённые данные в строку №4 листа 2 и так далее.
Т.е. другими словами в лист № 1 будут перезаписывать данные, и нужно чтобы данные с него собирались в таблицу на листе №2. Надеюсь я понятно написал. Пытался каждую ячейку листа 2 закрепить при помощи F4, но безрезультатно. Может есть какой-то другой способ дублирования данных, но увы я додумался только до этого. Надеюсь на Вашу помощь.
Пример в приложении.
P.S. Долго думал в каком разделе создать тему "Вопросы по Excel" или "Excel и другие приложения", и создал в последнем. Если раздел выбран не верно, прошу не бить, и перенести модераторов в соответствующий раздел. Спасибо.Nokami
Пропишите все переносы (самая скучная часть работы), и это писать лениво. Лист2!А3 = Лист1!С7 и т.д. (в одну строку). Имена листов можно опустить, разберемся. Управляющая часть макроса займет 2-3 строки. Напишем.
Пропишите все переносы (самая скучная часть работы), и это писать лениво. Лист2!А3 = Лист1!С7 и т.д. (в одну строку). Имена листов можно опустить, разберемся. Управляющая часть макроса займет 2-3 строки. Напишем. RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Воскресенье, 01.09.2013, 17:35
Да, уж! Каюсь, мой ответ можно было при желании интерпретировать и так. У меня соображалки не хватило. Я имел в виду использование одной строки на Лист2 в файле, а не одну строку в текстовом формате!
Pelena, Почитал ту тему, на которую вы дали ссылку, там макросы разбирают, которые мне совершенно не понятны к сожалению.
А ежели я макрос выложу, понятней будет? Ежели "ДА", то с какого боку?
Да, уж! Каюсь, мой ответ можно было при желании интерпретировать и так. У меня соображалки не хватило. Я имел в виду использование одной строки на Лист2 в файле, а не одну строку в текстовом формате!
Ну так. С макросами я не дел не имел никаких. Если только макросами решить мой вопрос можно, то что уж тут, придётся разобраться в них. С Вашей помощью конечно.
Ну так. С макросами я не дел не имел никаких. Если только макросами решить мой вопрос можно, то что уж тут, придётся разобраться в них. С Вашей помощью конечно.Nokami
SergeyKorotun, Да, похоже это то что нужно. Первый лист заполняется и сохраняется сразу на второй в виде таблицы. Только как мне это применить к моему случаю? Как я уже сказал с макросами и их использованием я не знаком. С чего начать?
SergeyKorotun, Да, похоже это то что нужно. Первый лист заполняется и сохраняется сразу на второй в виде таблицы. Только как мне это применить к моему случаю? Как я уже сказал с макросами и их использованием я не знаком. С чего начать?Nokami
Сообщение отредактировал Nokami - Воскресенье, 01.09.2013, 18:54
wild_pig, спасибо работает. Я так понимаю что это полный код макроса?
[vba]
Код
Sub pavlik() mArr = Array([C7], [C8], [H7], [C9], [A1], [F33], [F32], [C12], [H12], _ [C13], [H13], [C14], [H14], [F18], [F17], [F19], [F20], [F21], [F22], _ [F23], [F24], [F25], [F26], [F27], [F28], [F31], [F29], [F36]) With Sheets("Лист2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 .Cells(lr, 1).Resize(1, 28) = mArr Else .Cells(lr, 1).Resize(1, 28) = mArr End If End With End Sub
[/vba]
Можете расписать строчки? Чтобы мне было понятно что и куда вы вставили. Т.к. мне надо сделать ещё несколько подобных табличек, просить Вас не удобно. Тем более хочется самому попробывать разобраться.
wild_pig, спасибо работает. Я так понимаю что это полный код макроса?
[vba]
Код
Sub pavlik() mArr = Array([C7], [C8], [H7], [C9], [A1], [F33], [F32], [C12], [H12], _ [C13], [H13], [C14], [H14], [F18], [F17], [F19], [F20], [F21], [F22], _ [F23], [F24], [F25], [F26], [F27], [F28], [F31], [F29], [F36]) With Sheets("Лист2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 .Cells(lr, 1).Resize(1, 28) = mArr Else .Cells(lr, 1).Resize(1, 28) = mArr End If End With End Sub
[/vba]
Можете расписать строчки? Чтобы мне было понятно что и куда вы вставили. Т.к. мне надо сделать ещё несколько подобных табличек, просить Вас не удобно. Тем более хочется самому попробывать разобраться.Nokami
Сообщение отредактировал Nokami - Воскресенье, 01.09.2013, 19:44
Sub pavlik() mArr = Array([C7], [C8], [H7], [C9], [A1], [F33], [F32], [C12], [H12], _ [C13], [H13], [C14], [H14], [F18], [F17], [F19], [F20], [F21], [F22], _ [F23], [F24], [F25], [F26], [F27], [F28], [F31], [F29], [F36]) With Sheets("Ëèñò2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 End If .Cells(lr, 1).Resize(1, 28) = mArr End With End Sub
[/vba]
wild_pig, на две строки укоротил ваш код [vba]
Код
Sub pavlik() mArr = Array([C7], [C8], [H7], [C9], [A1], [F33], [F32], [C12], [H12], _ [C13], [H13], [C14], [H14], [F18], [F17], [F19], [F20], [F21], [F22], _ [F23], [F24], [F25], [F26], [F27], [F28], [F31], [F29], [F36]) With Sheets("Ëèñò2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 End If .Cells(lr, 1).Resize(1, 28) = mArr End With End Sub
[/vba] это ячейки с Лист1 которые нужно будет перенести на Лист2 в новую строку пробел и подчеркивание в конце строки означает что следующая строка есть продолжением предыдущей [vba]
[/vba] это ячейки с Лист1 которые нужно будет перенести на Лист2 в новую строку пробел и подчеркивание в конце строки означает что следующая строка есть продолжением предыдущей [vba]
Код
.Cells(lr, 1).Resize(1, 28) = mArr
[/vba] здесь 28 - это количество элементов в mArrSergeyKorotun
Вроде бы понятно. Вот код для похожей таблицы: [vba]
Код
Sub biohimia() mArr = Array([C7], [C8], [H7], [C9], [A2], [D13], [D14], [D15], [D16], _ [D17], [D18], [D19], [D20], [D21], [D22], [D23], [D24], [D25], [D26], _ [D27], [D28], [D29], [D30], [D31], [E33]) With Sheets("Ëèñò2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 End If .Cells(lr, 1).Resize(1, 25) = mArr End With End Sub
[/vba]
Таблицы прикреплены к сообщению. Верно сделал? Только не знаю как сделать такую же кнопку как в примере.
Вроде бы понятно. Вот код для похожей таблицы: [vba]
Код
Sub biohimia() mArr = Array([C7], [C8], [H7], [C9], [A2], [D13], [D14], [D15], [D16], _ [D17], [D18], [D19], [D20], [D21], [D22], [D23], [D24], [D25], [D26], _ [D27], [D28], [D29], [D30], [D31], [E33]) With Sheets("Ëèñò2") lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1 If lr = 2 Then lr = lr + 1 End If .Cells(lr, 1).Resize(1, 25) = mArr End With End Sub
[/vba]
Таблицы прикреплены к сообщению. Верно сделал? Только не знаю как сделать такую же кнопку как в примере.Nokami
Ячейка [A2] была взята наугад. Я спрашивал где в анализе находится наименование клиники (или клиника это уже состояние пациента ), ведь в базе есть соответствующая колонка. А кнопку скопируйте )
Ячейка [A2] была взята наугад. Я спрашивал где в анализе находится наименование клиники (или клиника это уже состояние пациента ), ведь в базе есть соответствующая колонка. А кнопку скопируйте )wild_pig
Сообщение отредактировал wild_pig - Воскресенье, 01.09.2013, 20:51
Да, я понял про А2. В базе клиники разные, поэтому как и всё остальные их заполяняют от руки. Нужно будет придумать где на листе1 её лучше расположить. Вроде бы понятно как это провернуть с другими таблицами. Попробую остальные сам переделать, если не получится, буду спрашивать в этой же теме. Только вот про пробел и подчёркивание в конце строки я не понял.
Цитата
пробел и подчеркивание в конце строки означает что следующая строка есть продолжением предыдущей
Разве нельзя перечислить все нужные ячейки подряд в одной строчке?
Да, я понял про А2. В базе клиники разные, поэтому как и всё остальные их заполяняют от руки. Нужно будет придумать где на листе1 её лучше расположить. Вроде бы понятно как это провернуть с другими таблицами. Попробую остальные сам переделать, если не получится, буду спрашивать в этой же теме. Только вот про пробел и подчёркивание в конце строки я не понял.
Цитата
пробел и подчеркивание в конце строки означает что следующая строка есть продолжением предыдущей
Разве нельзя перечислить все нужные ячейки подряд в одной строчке?Nokami
Сообщение отредактировал Nokami - Воскресенье, 01.09.2013, 21:00