2016-12-23 10 views
0

Итак, у меня есть ячейка, скажем A1. Он содержит текст. Если этот текст каким-либо образом изменен, ячейка A2 будет содержать изменение. Если он будет изменен снова, это изменение будет просто добавлено в ячейку A2 следующим образом.Как добавить изменение одной ячейки в другую ячейку в Excel без VBA?

A1: Никогда A2: Никогда

A1: Собираюсь A2: Никогда, Собираюсь

A1: Пусть A2: Никогда, Собираюсь, Пусть

A1: Вы A2: Никогда , Собираюсь, Пусть вас

A1: Вниз A2: никогда, Собираюсь, Пусть вас, вниз

В основном изменение в ячейке добавляется к другой вместе с запятой. О да, и мне нужно управлять этим без VBA. Как я могу это сделать?

Благодарим за помощь.

+1

Невозможно без vba. Формула не будет содержать старые данные, а только живую информацию. –

ответ

0

Это пример, который использует VBA. Если более опытный пользователь придумал решение, отличное от VBA, проигнорируйте этот ответ. Поместите следующий макрос событий в области рабочего листа Код:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim A1 As Range, A2 As Range, rint As Range 
    Set A1 = Range("A1") 
    Set A2 = Range("A2") 
    Set rint = Intersect(Target, A1) 
    If rint Is Nothing Then Exit Sub 

    Application.EnableEvents = False 
     If A2 = "" Then 
      A2 = A1 
     Else 
      A2 = A2 & ", " & A1 
     End If 
    Application.EnableEvents = True 
End Sub 

Поскольку это таблица кода, очень проста в установке и автоматическое использование:

  1. правой кнопкой мыши на название вкладки в нижней части окна Excel
  2. выберите View Code - это вызывает окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте его на пробном листе.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel позже 2003 года, вы должны сохранить файл как .xlsm, а не.XLSX

Чтобы удалить макрос:

  1. подвезти окна VBE как выше
  2. ясный код из
  3. закрыть окно VBE

Чтобы узнать больше о макросах в целом , см.:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Чтобы узнать больше о Event Macros (таблица кодов), см:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть разрешены для этой работы!

1

Вот как вы могли это сделать без VBA.

Сначала включить итеративный расчет в Excel.

Перейти к Файл ---> Оптовики ----> Формулы и в разделе Параметры калькуляции Включить итеративный расчет.

enter image description here

Теперь добавьте эту формулу к A2, а A1 пустым.

=SUBSTITUTE(A2 & IF(A1 <>"",",","") &A1,"0,","") 

И все, начните вводить текст в формате A1, и вы увидите текущее предложение в A2.

enter image description here

так, чтобы ответить на ваш вопрос:

Ах да, и мне нужно, чтобы справиться с этим без VBA. В любом случае, я могу сделать ?

Да, мы можем это сделать.

Но должны ли вы это сделать? рекомендация нет. Используйте VBA, как предложено Скоттом и учеником Гэри. Эта формула с круговой ссылкой будет работать и даст вам ожидаемый результат, но как только вы начнете добавлять другие формулы с циклическим ref, ваш лист станет более сложным для поддержания. итерации сложны для понимания и контроля и для обработки текста, безусловно, перебор

+0

Это что-то новое !!! – teddy2

+0

Большое спасибо, это именно то, что я искал. Я работаю над проектом для школы, где нам не разрешено использовать VBA, и поскольку я не планирую использовать какие-либо другие циркулярные ссылки, это будет очень хорошо. – Dovahkiin

 Смежные вопросы

  • Нет связанных вопросов^_^