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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2017, 18:15   #1
anutka16
 
Регистрация: 27.03.2017
Сообщений: 5
По умолчанию Копирование текста

Добрый день! Подскажите пожалуйста как можно сделать, чтобы в Excel я в одну строку вводила данные (постоянно меняются), а на другом листе выводились эти данные, но когда я меняю на первом листе, чтобы старые данные сохранялись на втором листе, а новые просто дополнялись?

например у меня на листе 1 в ячейка А1: некст (названия лекарств).
лист 2 в ячейке А1: некст
Потом я меняю лекарство получется лист 1 в ячейке А1: ношпа
Лист 2 ячейка А1: некст
Лист 2 ячейка А2: ношпа.

Очень нужна Ваша помощь.
anutka16 вне форума Ответить с цитированием
Старый 27.03.2017, 18:43   #2
Volodshan
Форумчанин
 
Регистрация: 20.05.2008
Сообщений: 241
По умолчанию

Вариант - набор и редакторование данных через форму.
Volodshan вне форума Ответить с цитированием
Старый 27.03.2017, 18:51   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

правой кнопкой мыши по ярлыку листа1
исходный текст
копируете в открывшееся окно этот мощный макрос
Код:
Private Sub worksheet_change(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub
  Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target
End Sub
вернитесь на лист1, вносите данные в А1
в любой удобный Вам момент сохраните потом файл с поддержкой макросов.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.03.2017, 19:09   #4
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Еще вариант. Я это называю выпадающий список с добавлением и сортировкой
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lReply As Long
    If Target.Address <> "$A$1" Or IsEmpty(Target) Then Exit Sub
    If Target.Column = 1 Then iSheet = "лекарства": IRange = "лекарства"
    If WorksheetFunction.CountIf(Worksheets(iSheet).Range(IRange), Target) = 0 Then
        lReply = MsgBox("В списке нет лекарства  " & Target & ". Добавить?", vbYesNo + vbQuestion)
        If lReply = vbYes Then
            With Worksheets(iSheet)
                .Cells(.Range(IRange).Rows.Count + 1, 1) = Target
                'сортировка по возрастанию
                .Range(IRange).Sort Key1:=.Range(IRange), Order1:=xlAscending, Header:=xlNo
            End With
        End If
    End If
End Sub
Вложения
Тип файла: xls W_Change_выпадающий список с добавлением2.xls (23.0 Кб, 19 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 27.03.2017, 20:02   #5
anutka16
 
Регистрация: 27.03.2017
Сообщений: 5
По умолчанию

Спасибо большое, это то что надо!))
А если мне надо еще, чтобы ячейка В1 также копировалась. это что надо сделать?
anutka16 вне форума Ответить с цитированием
Старый 27.03.2017, 20:03   #6
anutka16
 
Регистрация: 27.03.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
правой кнопкой мыши по ярлыку листа1
исходный текст
копируете в открывшееся окно этот мощный макрос
Код:
Private Sub worksheet_change(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub
  Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target
End Sub
вернитесь на лист1, вносите данные в А1
в любой удобный Вам момент сохраните потом файл с поддержкой макросов.


Спасибо большое, это то что надо!))
А если мне надо еще одновременно, чтобы ячейка В1 также копировалась. это что надо сделать?
anutka16 вне форума Ответить с цитированием
Старый 27.03.2017, 23:14   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

что копировалась еще и В1 нужно:
а) В1 набирать раньше чем А1
б) строку
Код:
Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target
в ранее предложенном мощном макросе заменить на:
Код:
Target.resize(1,2).copy Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.03.2017, 10:15   #8
anutka16
 
Регистрация: 27.03.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
что копировалась еще и В1 нужно:
а) В1 набирать раньше чем А1
б) строку
Код:
Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Target
в ранее предложенном мощном макросе заменить на:
Код:
Target.resize(1,2).copy Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Чтобы когда набираю лист1 в ячейку А1 и В1 информацию, она отображалась на листе2. Например лист 1 А1 ношпа В1 2 таблетки, потом меняю на А1 некст В1 1 таблетка. А на Лист2 отображалось 1 строка: ношпа 2 таблетки, 2 строка некст 1 таблетка.
anutka16 вне форума Ответить с цитированием
Старый 28.03.2017, 10:28   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

делайте все как Вы написали, только
СНАЧАЛА в В1 2 таблетки
ПОТОМ в А1 ношпа

потом можете заглянуть в лист2, что там накапливается (а можно и не заглядывать)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование текста. Arctic1 Microsoft Office Word 12 21.04.2015 00:21
Копирование выделенного текста peplenko Общие вопросы по Java, Java SE, Kotlin 2 18.07.2011 04:15
копирование текста из мемо grafgrial Общие вопросы Delphi 9 22.01.2011 17:04
Копирование и вставка текста Lemo Общие вопросы Delphi 1 01.07.2010 21:13
Поиск и копирование текста. paratruper17 Microsoft Office Word 7 14.10.2009 13:53