2014-10-06 2 views
-1

мне нужна помощь с чем-то, по крайней мере теоретически, простой:Добавление значения в последнюю ячейку

Вы вводите какое-либо значение в одной ячейке (A1), то значение добавляется к B1. Вы добавляете другое значение (заменяя предыдущее значение) в A1, C1 создается с этим значением и продолжается.

Мне нужно сохранить сохраненную историю, но в то же время упростить метод ввода.

Я бы очень признателен за любую помощь. Благодарю.

+0

Вы должны были бы VBA для этого. Какой код вы пробовали? –

+0

Я не знаю VBA, я попытался поместить некоторые вещи, которые я нашел вместе, но я не могу настроить код для своих нужд.Что-то вроде этого: Private Sub Worksheet_Change (ByVal Target As Range) Если Target.Address = "$ A $ 1" Тогда Если IsNumeric (Target) Тогда Range ("B1") = Target.Value + 2 End If End Если End Sub –

+0

Вы говорите конкретно о ячейке A1 или любой ячейке в столбце A? Должно ли все, кроме столбца A (или ячейки A1) быть защищено от изменений/дополнений/удалений? – Jeeped

ответ

0

Поместите следующий макрос событий в области рабочего листа Код:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim A As Range, N As Long 
    Set A = Range("A1") 
    If Intersect(Target, A) Is Nothing Then Exit Sub 
    Application.EnableEvents = False 
     N = Cells(1, Columns.Count).End(xlToLeft).Column + 1 
     Cells(1, N).Value = A.Value 
    Application.EnableEvents = True 
End Sub 

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

  1. правой кнопкой мыши на вкладку имя в нижней части окна Excel
  2. выбрать Просмотреть код - это вызывает окно 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

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

EDIT # 1

Удалите первую версию и заменить его:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim A As Range, N As Long, WhichRow As Long 
    Set A = Range("A:A") 
    If Intersect(Target, A) Is Nothing Then Exit Sub 
    Application.EnableEvents = False 
     WhichRow = Target.Row 
     N = Cells(WhichRow, Columns.Count).End(xlToLeft).Column + 1 
     Cells(WhichRow, N).Value = Target.Value 
    Application.EnableEvents = True 
End Sub 
+0

Эй, это волшебство. Almosta отлично, но может ли он работать для каждой ячейки в определенном столбце и писать в той же строке, что и выбранная ячейка? извините, если я прошу слишком много, ваша помощь уже потрясающая. благодаря! –

+0

Смотрите мой ** РЕДАКТИРОВАТЬ # 1 ** –

+0

Это прекрасно, вы герой. спасибо очень, очень много. –

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