Ive никогда ничего не писал в VBA. У меня есть шкала, которая взвешивает предметы и вводит их в excel. Тем не менее, это требует чтения, когда я что-то взвешиваю, а затем записывает показания, когда шкала пуста между взвешиваниями. Я пытаюсь избавиться от пустого чтения в столбце D. Это действительно должно произойти при каждой записи в электронную таблицу.Excel VBA работает при записи
Этот код работает, если я запускаю его вручную. Как его обернуть так, чтобы он выполнялся автоматически? Кроме того, преднамеренно объясните, как активировать код. По какой-то причине это не ясно из моего интернет-поиска.
Sub clean_input_data()
Dim i As Long
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With ActiveSheet
If .AutoFilterMode Then .AutoFilterMode = False
i = .Range("D" & Rows.Count).End(xlUp).row
If i < 2 Then
MsgBox "No data found, macro exiting"
Exit Sub
Else
With .Range("D1:D" & i)
.AutoFilter
.AutoFilter field:=1, Criteria1:="<=0.005", Operator:=xlAnd
End With
End If
.UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).Rows.Delete
.AutoFilterMode = False
End With
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub
Большое спасибо
«У меня есть весы, которые взвешивают предметы и вводят их в excel» - что именно это выглядит на практике? Что вызывает новую запись, и где размещается каждая новая запись? –
Возможно, с помощью события «Worksheet_Change» и добавления некоторой логики для игнорирования, когда запись == 0 (или что бы «пустой» масштаб регистрировался на листе) –
Tim. Я запускаю ключевое программное обеспечение rs232. Его «клавиатурный клин». Он считывает входящие данные из последовательного порта и помещает его в буфер клавиатуры. Масштаб отправляет данные, когда он воспринимает новый вес, а затем стабилизируется (следовательно, он записывает загруженные и выгруженные данные). После этого значение вводится в excel из буфера клавиатуры с «Enter». Поэтому в Excel данные вводятся программным обеспечением rs232, после чего он попадает в меня для ввода. Я хочу удалить «разгруженные» строки. – user2795569