Пользователь отправил это в другом вопросе:
Вот некоторый код, который будет смотреть диапазон
A1:G12
на любом листе с кодом в нем. Еслиr
- строка, которая была изменена, то код скопирует все из Ar:Gr в лист с кодовым именем shtLog. (Кодовое имя - это имя, отображаемое в VBA, а не имя на вкладке, которую вы видите в Excel.) Это должно заставить вас двигаться в правильном направлении.Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Integer Dim c As Integer Dim arr(1 To 1, 1 To 12) If Not Intersect(Target, Range("A1:G12")) Is Nothing Then r = Target.Row For c = 1 To 12 arr(1, c) = Cells(r, c).Value Next With shtLog .Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr End With End If End Sub
Однако, хотя я вижу код, который использовал в модуле, и в редакторе VBA я не вижу, не нахожу, не выбираю и не запускаю макрос, поэтому я не знаю, как заставить работать регистратор.
Кто-нибудь знает, как заставить код работать так, чтобы он начал запись в назначенном листе?