2015-10-18 2 views
0

Описание программы Я хочу эту программу в msgbox каждый раз, когда ячейка меняется. Напр. Если у меня есть AAA в row1 и row2 BBB, я хочу, чтобы мой код узнавал, когда ячейка меняется от одной строки к другой.Как сохранить запись изменения ячейки в vba

Проблема Я никогда не использовал функцию изменения, прежде чем я не знаю, где ее использовать в моем коде. Может ли кто-нибудь помочь мне с использованием функции изменения или любыми другими способами отслеживания изменения строки. Как-то моя функция изменения не работает.

Sub xym() 

    Dim x As String, dtext, lastrow As Long, ws1 As Worksheet, wb As Workbook 
    Dim rangnum As Range, i As Long 
    Set wb = ActiveWorkbook 
    Set ws1 = wb.Worksheets("Sheet1") 
    lastrow = ws1.UsedRange.Rows.Count + 1 
    Set rangenum = ws1.Range("A1:A" & lastrow) 
    dtext = rangenum.Value 

    For i = 1 To UBound(dtext, 1) 
     If dtext(i,1).change then msgbox "yes" 
    Next i 

End Sub 
+0

Будет ли результат изменения от редактирования пользователя или от выполнения функции ?? –

+0

@ Выполнение функции Gary'sStudent .... когда им нужно запустить макрос, он будет циклически проходить через строки и msgbox каждый раз при изменении значения ячейки. – user3795861

+0

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

ответ

0

Пожалуйста, попробуйте следующее:

Sub xym() 
    Dim i&, v 
    With Sheet1.[a1] 
     v = .Resize(.Item(.Parent.Rows.Count).End(xlUp)(2).Row) 
    End With 
    For i = 2 To UBound(v) - 1 
     If v(i, 1) <> v(i - 1, 1) Then 
      MsgBox "Yes." & vbLf & "Cell A" & i & " is different." 
     End If 
    Next 
End Sub 
+0

спасибо, что работает отлично – user3795861

+0

Добро пожаловать. –

0

Вы должны использовать рабочий лист Изменить событие - есть четкое объяснение того, как использовать это событие на следующей странице, в том числе, как только реагировать на изменения, которые происходят в определенных клетках.

Excel VBA: автоматический запуск макросов Excel, когда ячейка меняет/вводит данные. Рабочий лист Change Event
http://www.ozgrid.com/VBA/run-macros-change.htm

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