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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 11:37   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Отследить последнее изменение в диапазоне

Добрый день, уважаемые форумчане!
Вопрос в следующем. Есть диапазон N3:N1000. Диапазон заполняется вручную в произвольном порядке. В другом диапазоне на этом же листе С3:C1000 находятся индивидуальные коды клиентов. Как формулой на другой лист вывести тот код клиента, в строке которого было внесено последнее изменение в диапазоне N3:N1000. Значения в диапазоне N3:N1000 числовые. Повторюсь, значения вносятся вручную в произвольном порядке, так что диапазон не непрерывный (функция поиска последней заполненной ячейки не работает).
Заранее спасибо.
strannick вне форума Ответить с цитированием
Старый 28.03.2012, 12:08   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

формулой наверно не как.
посмотрите макросы вот здесь:
http://www.excel-vba.ru/?s=log
http://www.excel-vba.ru/chto-umeet-e...-primechaniya/
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 28.03.2012, 12:25   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  if Target.Column = 14 then
    MsgBox Cells(Target.Row, 3)
  end if
End Sub
разместив в коде для данного листа данную процедуру вы будете получать сообщение с ID клиента, в строке которого были изменения. Если не нравится MessageBox, то можете определить данное значение куда вам удобно.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.03.2012, 13:31   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

формулой - никак.
этот макрос
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rg As Range
  Set rg = Application.Intersect([n3:n1000], Target)
  If rg Is Nothing Then Exit Sub
  With Sheets(2)
    .[B:D].ClearContents
    .Range(rg.Address).Copy .[b1]
    rg.Copy .[d1]
    rg.Copy .Range("N" & rg.Row)
    .[c1] = "стало": .[f2] = rg.Row
  End With
  Set rg = Nothing
End Sub
как старрая цыганка расскажет что было, что есть... не знает только что будет.
он сработает если данные вносились копированием и изменения затронули не одну, а сразу несколько ячеек.
Вложения
Тип файла: rar КнигаR814.rar (9.2 Кб, 13 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.03.2012, 20:57   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  if Target.Column = 14 then
    MsgBox Cells(Target.Row, 3)
  end if
End Sub
разместив в коде для данного листа данную процедуру вы будете получать сообщение с ID клиента, в строке которого были изменения. Если не нравится MessageBox, то можете определить данное значение куда вам удобно.
Перенаправил на нужный лист. Все работает. Спасибо. Буду вязать дальше.

IgorGO: за решение с номером строки спасибо. Положу в копилку.
strannick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
последнее значение в столбце vostok Microsoft Office Excel 4 28.09.2011 21:51
Отследить изменение переменной _SERGEYX_ Общие вопросы Delphi 10 02.03.2011 18:59
Отследить изменение курсора в чужих окнах Lime Общие вопросы Delphi 2 02.07.2009 19:17
Как отследить изменение фона рабочаго стола Legat Win Api 11 29.10.2007 12:21