ich habe folgendes kleines (?) Problem, dass beim Export von Daten (Zahlenwerten) von VB nach Excel auftritt:
Für den Export der Daten nach Excel soll für einen neu erfassten Messwert eine neue Zeile in Excel generiert werden. Dies ist notwendig, da vorausssichtlich mehrere 1000 Daten von VB nach Excel exportiert werden sollen.
Mit dem folgendem Code komme ich leider nicht weiter, da der Zeilensprung nicht vorgenommen wird, sondern die Werte ständig überschrieben werden... :
Sub Form_Load()
Set Xl = CreateObject("Excel.Application")
Xl.Workbooks.Open App.Path & "\Messwerte.xls"
End Sub
------------------------------------
Private Sub Export_Click()
Dim nr_help
Dim x As Integer
Dim y As Boolean
nr_help = Val(nr)
Tabellenname = "Messpunkte"
x = 5
Do
DoEvents
If Xl.cells(x, 1).Value <> "" And Xl.cells(x, 2).Value <> "" And Xl.cells(x, 3).Value <> "" And Xl.cells(x, 4).Value <> "" And Xl.cells(x, 5).Value <> "" And Xl.cells(x, 6).Value <> "" And Xl.cells(x, 7).Value <> "" And Xl.cells(x, 8).Value <> "" And Xl.cells(x, 9).Value <> "" And Xl.cells(x, 10).Value <> "" And Xl.cells(x, 11).Value <> "" And Xl.cells(x, 12).Value <> "" Then
x = x + 1
y = False
Else
Xl.cells(x, 1).Value = MP_Erfass.MP(nr_help).Datum_ist
Xl.cells(x, 2).Value = MP_Erfass.MP(nr_help).Zeit_ist
Xl.cells(x, 3).Value = Zahlenformat(MP_Erfass.MP(nr_help).Temperatur, 1, "")
Xl.cells(x, 4).Value = Zahlenformat(MP_Erfass.MP(nr_help).Druck, 1, "")
Xl.cells(x, 5).Value = Zahlenformat(Messergeb.messpunkt(nr_help).Massendifferenz, 5, "")
Xl.cells(x, 6).Value = Zahlenformat(Messergeb.messpunkt(nr_help).Varianz, 5, "")
Xl.cells(x, 7).Value = Zahlenformat(Messergeb.messpunkt(nr_help).Druck, 4, "")
Xl.cells(x, 8).Value = Zahlenformat(Messergeb.messpunkt(nr_help).Temperatur, 3, "")
Xl.cells(x, 10).Value = Zahlenformat(MP_Erfass.MP(nr_help).f_max, 1, "")
Xl.cells(x, 11).Value = Zahlenformat(MP_Erfass.MP(nr_help).f_start, 1, "")
Xl.cells(x, 12).Value = Zahlenformat(MP_Erfass.MP(nr_help).f_stop, 1, "")
y = True
End If
Loop Until y <> True
End Sub
-------------------------------------------
Private Sub nr_Change()
Dim nr_help
If IsNumeric(nr) Then
nr_help = Val(nr)
If nr_help > 0 And nr_help < 21 Then
lbl_Datum.Caption = MP_Erfass.MP(nr_help).Datum_ist
lbl_Zeit.Caption = MP_Erfass.MP(nr_help).Zeit_ist
lbl_Druck.Caption = Zahlenformat(MP_Erfass.MP(nr_help).Druck, 1, "")
lbl_Temp.Caption = Zahlenformat(MP_Erfass.MP(nr_help).Temperatur, 1, "")
lbl_m_diff_mittel.Caption = Zahlenformat(Messergeb.messpunkt(nr_help).Massendifferenz, 5, "")
lbl_Stdabw.Caption = Zahlenformat(Messergeb.messpunkt(nr_help).Varianz, 5, "")
lbl_T_mittel.Caption = Zahlenformat(Messergeb.messpunkt(nr_help).Temperatur, 3, "")
lbl_p_mittel.Caption = Zahlenformat(Messergeb.messpunkt(nr_help).Druck, 4, "")
lbl_f_max.Caption = Zahlenformat(MP_Erfass.MP(nr_help).f_max, 1, "")
lbl_f_start.Caption = Zahlenformat(MP_Erfass.MP(nr_help).f_start, 1, "")
lbl_f_stop.Caption = Zahlenformat(MP_Erfass.MP(nr_help).f_stop, 1, "")
nr.BackColor = vbWhite
Else
nr.BackColor = vbRed
End If
Else
nr.BackColor = vbRed
End If
End Sub
Für jeden Hinweis oder Tip bin ich sehr
dankbar.
Beste Grüße
Alexander