Hallo Leute,
ich habe ein kleines Problem. Und zwar lese ich über VBA in Excel Analogeingänge einer USB-Steuerkarte ein. Dies funktioniert reibungslos, jedoch wird der ausgelesene Wert immer wieder überschrieben. Ich möchte also die Werte fortlaufend untereinander haben, so wie sie jeweils ausgelesen wurden.
Versucht hab ich es mit einer zweiten jedoch will das nicht richtig klappen
Hier der Code der Subroutine zum einlesen:
Sub Button1_Click() 'Einlesen der Analogwerte
KillTimer 0&, TimerID
CloseDevices
Dim h As Long
h = OpenDevice
Select Case h
Case 0, 1, 2, 3, 4, 5, 6, 7
ActiveSheet.Cells(22, 9) = "Card " + Str(h) + " connected"
TimerSeconds = 0.1 'Timerzeit in Sekunden!
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
Case -2
ActiveSheet.Cells(22, 8) = "Card not found"
Case -1
ActiveSheet.Cells(22, 10) = "All Cards opened"
End Select
End Sub
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
On Error Resume Next
Dim Data(0 To 8) As Long
Dim i, k As Long
Dim h As Long
ReadAllAnalog h, Data(0)
For i = 0 To 8
ActiveSheet.Cells(3, i) = Data(i)
ActiveSheet.Cells(k, i) = ActiveSheet.Cells(3, i)
Next i
End Sub
Ich Klicke quasi auf einen Button und dann fängt er das einlesen an. Die betreffende Stelle ist wohl die zum Schluss. Dort hab ichs erst mit ner zustzlichen "For-Schleife" versucht, dies führte jedoch zum Absturz.
Vielleicht hat ja jemand eine Idee.
Danke schonmal.
Grüße Gygaxxer
|