Страницы: 1
RSS
Макрос по отображению данных последнего изменения ячеек диапазона
 
Добрый день, уважаемы форумчане!  
 
Есть макрос по отображению данных последнего изменения ячеек диапазона (пользователь, время).  
Private Sub Worksheet_Change(ByVal Target As Excel.Range)  
   Dim iTarget As Range, iCell As Range  
   Set iTarget = Intersect(Me.Range("A1:R1000"), Target)  
   If Not iTarget Is Nothing Then  
      If Not Me.ProtectContents Then  
         iText$ = Application.UserName & vbLf & Now  
         For Each iCell In iTarget  
             iCell.NoteText Text:=iText$  
         Next  
      Else  
         MsgBox "Для создания примечаний снимите защиту листа", , ""  
      End If  
   End If  
End Sub  
 
 
Макрос отображает данные примечанием в каждой ячейке в которой произошло изменение, а мне бы хотелось чтобы он показывал данные только в конкретном столбце при изменении данных ячеек данной строки. Т.е., к примеру, если в строке 5 любая из ячеек была изменена, кроме столбца 10 (желательно отследить конкретное изменение, а не просто двойной щелчок на ячейке), то в столбце 10 (Cells(5, 10)) записать данные. И т.д. для всех строк.
 
Всё оказалось проще чем я думал, сделал сам, вот только не додумался пока как исключить из анализа обращения к ячейке не изменяющие её содержимого (двойной щедчок, энтер). Не подскажете?  
 
Private Sub Worksheet_Change(ByVal Target As Excel.Range)  
   Dim iTarget As Range, iCell As Range  
   Set iTarget = Intersect(Me.Range("A1:R1000"), Target)  
   If Not iTarget Is Nothing Then  
      If Not Me.ProtectContents Then  
         iText$ = Application.UserName & vbLf & Now  
         For Each iCell In iTarget  
             Cells(iCell.Row, 19).Value = iText$  
         Next  
      Else  
         MsgBox "eee", , ""  
      End If  
   End If  
End Sub
Страницы: 1
Наверх