Страницы: 1
RSS
Макрос для контроллера
 
Здравствуйте,

Имеется файл в котором 3 столбца. Контроллер через COM3 один раз в секунду пишет в ячейку A1 свое состояние 1 или 0 а в ячейки с A2 по A50 значения.
В зависимости от состояния 0 или 1 данные из столбца А должны переписываться в столбец B (если  А1 =0) или в столбец C если (если  А1 =1)

В интернете нашел такой макрос который отслеживает изменение ячейки A1 и поставил его в код листа Sheet1. Но выдает ошибку 2023.
Может кто подскажет другео решение?

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim KeyCells As Range
   Dim a(), b As Variant

' The variable KeyCells contains the cells that will
   ' cause an alert when they are changed.
   Set KeyCells = Range("A1:A1")

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
          Is Nothing Then

' Display a message when one of the designated cells has been
       ' changed.
     
b = Sheets("Sheet1").Cells(1, 1).Value
If b = 0 Then
a = Sheets("sheet1").Range("A2:A50").Value
Sheets("sheet1").Range("B2:B50").Value = a

Else
a = Sheets("sheet1").Range("A2:A50").Value
Sheets("sheet1").Range("C2:C50").Value = a
End If
End If

End Sub
Изменено: vit12 - 26.02.2020 11:10:21
 
vit12, Хотите быстрее получить помощь..ознакомитесь с правилами (название темы такое себе). не нашел в книге макроса кстати (но если его вставить он работает)
Изменено: Mershik - 26.02.2020 11:18:13
Не бойтесь совершенства. Вам его не достичь.
 
Предложите назваие темы, отражающее проблему. Модераторы заменят.
Код в собщении следует оформлять с помощью кнопки <...>. отредактируйте сообщение.
Страницы: 1
Наверх