' Get a block of 100 readings... ' we can call this routine repeatedly ' to get more blocks with the same settings Dim triggerIndex As Long Dim overflow As Integer status = pl1000GetValues(handle, values(0), nValues, overflow, triggerIndex)

' Copy the data into the spreadsheet For i = 0 To nValues - 1 Cells(i + 4, "A").value = adc_to_mv(values(2 * i)) Cells(i + 4, "B").value = adc_to_mv(values(2 * i + 1)) '''<I am not sure what this command is doing so I have tried simply expanding it into other columns. The sheet does add data into cells C-E but it appears to be duplicate data from A and B> Cells(i + 4, "C").value = adc_to_mv(values(2 * i + 2)) Cells(i + 4, "D").value = adc_to_mv(values(2 * i + 3)) Cells(i + 4, "E").value = adc_to_mv(values(2 * i + 4)) Next i

' Close the unit when finished to drop the driver Call pl1000CloseUnit(handle)

Timestamping can be calculated based on the sampling interval being used - try using the microseconds per block parameter from the pl1000SetInterval function and the total number of samples to calculate the interval.

With regards to MS Excel not responding, it might be busy collecting the data.