改的别人的代码,编程方面一窍不通。
通过Arduino读取数据,将处理后的数据导入到excel中。
原arduino显示的数据:

更改后的arduino数据:

原处理数据部分代码:
Const sensor_num As Integer = 6
Dim xlObject(3) As Object
Dim xlAgent(0, sensor_num * 3)
Dim data As String
Dim data_arr() As String
中间部分省略
data_arr = Split(data, ",")
For i = 1 To sensor_num
xlAgent(0, i + sensor_num * 0) = data_arr(i * 6 - 6)
xlAgent(0, i + sensor_num * 1) = data_arr(i * 6 - 4)
xlAgent(0, i + sensor_num * 2) = data_arr(i * 6 - 2)
Next
中间省略
With xlObject(3)
If count = 1 Then
'.range("B6:T10000").clearcontents()
.cells(2, 2) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
End If
xlAgent(0, 0) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
.range(.cells(5 + count, 2), .cells(5 + count, 20)) = xlAgent
.range(.cells(5 + count, 21)) = xlke1
.range(.cells(5 + count, 22)) = xlke2
End With
更改后的代码:
Const sensor_num As Integer = 6
Dim xlObject(3) As Object
Dim xlAgent(0, sensor_num * 3)
Dim xlke1
Dim xlke2
Dim data As String
Dim data_arr() As String
略
data_arr = Split(data, ",")
For i = 1 To sensor_num
xlAgent(0, i + sensor_num * 0) = data_arr(i * 6 - 6)
xlAgent(0, i + sensor_num * 1) = data_arr(i * 6 - 4)
xlAgent(0, i + sensor_num * 2) = data_arr(i * 6 - 2)
Next
xlke1 = data_arr(36)
xlke2 = data_arr(37)
略
With xlObject(3)
If count = 1 Then
'.range("B6:T10000").clearcontents()
.cells(2, 2) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
End If
xlAgent(0, 0) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
.range(.cells(5 + count, 2), .cells(5 + count, 20)) = xlAgent
.range(.cells(5 + count, 21)) = xlke1
.range(.cells(5 + count, 22)) = xlke2
更改后再运行就出现
找不到成员。(异常来自HRESULT:0x80020003(DISP_E_MEMBERNOTFOUND))
的结果了
按我理解的范围内应该只需要改这几处数据。如果有需要我可以再补充下代码。