hallo leute!
ich habe mich in den letzten wochen etwas in access und vba eingearbeitet, hatte davor nix damit zu tun. jetzt bin ich auch schon recht weit und hab schon einiges zusammengebracht, nur stoße ich immer wieder auf folgendes problem:
Code:
Dim objExcel As excel.Application
Dim objWorkbook As excel.Workbook
On Error Resume Next
Set objExcel = GetObject(, "Excel.Application")
If Err.Number = 429 Then
Set objExcel = CreateObject("Excel.Application")
End If
On Error GoTo 0
Set objWorkbook = objExcel.Workbooks.Open(file)
objExcel.ActiveWorkbook.Sheets(1).Select
objExcel.Visible = True
With objExcel.ActiveWorkbook.Sheets(1)
' ### Daten aus der DB holen
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
Do While ende = 0
strSQL = "SELECT ...;"
Set rs = db.OpenRecordset(strSQL) ' Recordset öffnen
' zellen initialisieren
.Range(.Cells(y + zy, x + 1), .Cells(y + zy, x + 31)).Select
Selection.ClearContents
Selection.ClearComments
Loop
End With
beim ersten öffnen des excel funktionierts problemlos! wenn ich allerdings dann excel schließe und das ganze erneut öffnen möchte, dann öffnet sich excel zwar, es kann aber nicht angezeigt werden (wenn ich draufklicke erscheint nur die zeile oben, siehe screenshot).
abhilfe bringt dann nur ein "prozess beenden"... danach lässt sich excel beim ersten mal öffnen, es führt aber die in access programmierten aktionen nicht aus (remote fehler 462, siehe screenshot 2). beim 2. öffnen funktionierts dann wieder richtig, beim 3. hängt sichs wieder auf usw...
bis jetzt bin ich dem problem mit for-schleifen und einzelnem durchgehen der zellen entgegnet, aber das kanns ja nicht sein
