У меня есть данные, поступающие в Excel из приложения DDE с макросом. Мне удалось запрограммировать макрос, чтобы все данные хранились в следующей строке. Проблема: я хочу иметь возможность прокручивать данные, например. для просмотра значений 5 минут назад, но я не могу, потому что макрос блокирует книгу. Я пытался экспортировать данные в файл csv и просматривать его там, но у меня есть проблема с циклом, который говорит, что файл уже открыт. У любого есть решение? Я настоящий новичок в VBA или программировании. Спасибо. Вот что я пытался бежать:Реализация задержки экспорта данных из Excel в файл csv
Sub DDEread()
' Opens a DDE conversation with the Windmill DDE
' Panel using the Service Name "Windmill" and the
' Topic Name "data"
Dim i As Integer, g As Integer
For i = 2 To 15
' Loop to get 5 values, 1 every second
For g = 0 To 4
ddechan = Excel.DDEInitiate("Windmill", "data")
Cells(g + 1, 4).Value = Excel.DDERequest(ddechan, "Ch0")
Cells(g + 1, 5).Value = Excel.DDERequest(ddechan, "00001")
Application.Wait Now + TimeValue("00:00:01")
Next g
'put the calculated average of 5 cells into other cells to get allways 5 second averaged values
Cells(i, 2).Value = Cells(6, 4)
Cells(i, 3).Value = Cells(6, 5)
Cells(i, 1).Show
Cells(i, 1).Value = Format(Time, "hh:mm:ss")
Cells(i, 1).NumberFormat = "hh:mm:ss"
' Closes the DDE conversation.
Excel.DDETerminate (ddechan)
'Data export to csv file:
Dim myFile As String, cellValue As Variant
myFile = Application.DefaultFilePath & "\PG350data.csv"
Open myFile For Output As #1
cellValue = Cells(i, 2).Value + Cells(i, 3).Value
Write #1, cellValue
Next i
Close #1
End Sub
В этом фрагменте кода вы хотите вставить 5-минутную задержку? –
Я хочу иметь возможность прокручивать строки (зарегистрированные значения) во время работы макроса. –