Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bestimmte Daten vom Formular an bestimmte Zellen an Excel übergeben

Begonnen von Lemmy2902, Mai 20, 2025, 14:03:56

⏪ vorheriges - nächstes ⏩

Lemmy2902

Hallo zusammen ich brauche mal wieder eure Unterstützung,
ich möchte gerne Bestimmte Daten an einer bestimmten Zellen in Excel übergeben.
z.B. Bezeichnungsfeld proNummer an Zelle A1 usw. Leider habe ich keine Vorstellung wie das Ganze Anfangen soll

Hondo

Hallo,
du solltest dich dazu mit der Excel-Automation beschäftigen.
Sieh dir mal folgenden Link an, den finde ich ganz gut erklärt.
https://access-im-unternehmen.de/Excel_automatisieren
Der Beitrag ist zwar gekürzt, aber ganz am Ende steht das entscheidende um auf eine Zelle zuzugreifen: objSheet.Cells(1, 1)

Die Kurzform zur Excel-Automation findest du z.B. auch hier:
https://learn.microsoft.com/de-de/office/troubleshoot/excel/transfer-data-to-excel-from-vb

Gruß Andi

Lemmy2902

Danke sehr hilfreich, komme drozdem nicht weiter, leider

Hondo

Dann poste doch mal den VBA-Code um den es geht.
Gruß Andi

Lemmy2902

'Create a Recordset from all the records in the Orders table
Dim TicketVerwaltung  As String
Dim conn As New ADODB.Connection
Dim rs As ADODB.Recordset
TicketVerwaltung= _
   "Z:\TicketVerwaltung.accdb"    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _TicketVerwaltung & ";" ' Fehler Erwartet: Anweisungsende conn.Open
conn.CursorLocation = adUseClient
Set rs = conn.Execute("Orders", , adCmdTable)

'Create a new workbook in Excel
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)

'Transfer the data to Excel
oSheet.Range("A1").CopyFromRecordset rs

'Save the Workbook and Quit Excel
oBook.SaveAs "C:\Book1.xls"
oExcel.Quit
'Close the connection
rs.Close
conn.Close


Hondo

Hab mal ein Beispiel ohne Speichern gemacht das bei mir funktioniert:

Public Sub test()
    Dim rs As New ADODB.Recordset
    Dim i As Long
    Dim oExcel As Object
   
    On Error Resume Next
    Err.Clear
   
    Set oExcel = CreateObject("Excel.Application")
    If Err.Number <> 0 Then Set oExcel = CreateObject("Excel.Application")
    On Error GoTo 0

    With oExcel
        .Visible = True
        rs.Open "Tabelle1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        For i = 0 To rs.Fields.Count - 1
            .Cells(1, i + 1) = rs.Fields(i).Name
        Next i
        .Range("A2").Select
        .Selection.Copyfromrecordset rs
    End With
    Set oExcel = Nothing
    rs.Close
End Sub

Knobbi38

Hallo  Lemmy2902,

anders herum wird ein Schuh daraus. Anstatt per Automation Daten nach Excel zu exportieren, gibt es heute sehr einfache Möglichkeiten, z.B. mit PQ in Excel eine Access-Datenbank zu lesen, daraus eine Tabelle zu erstellen und weiter zu verarbeiten.

Gruß Knobbi38

Lemmy2902

Zitat von: Hondo am Mai 21, 2025, 10:43:31Hab mal ein Beispiel ohne Speichern gemacht das bei mir funktioniert:

Public Sub test()
    Dim rs As New ADODB.Recordset 'Fehler Benutzerdefiniert typ nicht definiert
    Dim i As Long
    Dim oExcel As Object
   
    On Error Resume Next
    Err.Clear
   
    Set oExcel = CreateObject("Excel.Application")
    If Err.Number <> 0 Then Set oExcel = CreateObject("Excel.Application")
    On Error GoTo 0

    With oExcel
        .Visible = True
        rs.Open "Tabelle1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        For i = 0 To rs.Fields.Count - 1
            .Cells(1, i + 1) = rs.Fields(i).Name
        Next i
        .Range("A2").Select
        .Selection.Copyfromrecordset rs
    End With
    Set oExcel = Nothing
    rs.Close
End Sub
da bekomme ich auch eine Fehlermeldung und wo wird angeben aus welcher datenkank die daten kommen sollen

Lemmy2902

was ist PQ ? das wir uns richtig vertstehen ich möchte aus einen Formular die daten an eine excel übergeben,da muss ich doch die Quelle und die Felder bestimmen.


Hondo

Hallo
Zitatda bekomme ich auch eine Fehlermeldung und wo wird angeben aus welcher datenkank die daten kommen sollen
Na aus der in der du gerade arbeitest!!!
Und nicht schreiben Fehlermeldung... sondern welche Fehlermeldung!

Seh grad, im Code fehlt nach .Visible = true folgendes:
.workbooks.Add

Hondo


Knobbi38

Hallo  Lemmy2902,

Zitat von: Lemmy2902 am Mai 21, 2025, 12:42:50was ist PQ ?
PQ ist die übliche Abkürzung für PowerQuery für Excel, was in Excel per AddIN bereitgestellt wird.

Zitat... das wir uns richtig vertstehen ich möchte aus einen Formular die daten an eine excel übergeben,da muss ich doch die Quelle und die Felder bestimmen.
Keine Ahnung, was du damit meinst. Wieso mußt du die Quelle und die Felder bestimmen? Was hat das überhaupt mit einem Formular zu tun?

Zitat... da bekomme ich auch eine Fehlermeldung und wo wird angeben aus welcher datenkank die daten kommen sollen
Alles ganz schön, nur von welcher Fehlermeldung sprichst du hier und wieso mußt du eine Datenbank für die bereitzustellenden Daten auswählen?

Nichts für ungut, aber vielleicht solltest du dich erst einmal mit den Grundlagen von Access beschäftigen, bevor du solche Projekte angehst. So wird es schwierig, da das eigentliche Problem noch nicht mal richtig beschrieben wird.

Gruß Knobbi38





Lemmy2902

Also die Fehler Meldung steht im Code, ich will die daten nicht über ein Bericht Bereitstellen sondern über Excel, zwecks Berarbeitung

Anmerkung: Bitte keine vollständigen Beiträge zitieren. Das verlängert unnötig die Themen und macht sie unübersichtlich. Was ich sehe, lösche ich dann ohnehin. MzKlMu

Lemmy2902

die Fehlermeldung ist immer noch die selbe Benutzerdefinierter Typ nicht definiert