Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Daten nach Access kopieren

Excel Daten nach Access kopieren
17.01.2020 16:01:01
Daniel
Hallo Leute
Mein Problem ist folgendes: Ich habe eine Access Datenbank. von da aus öffne ich Excel und berechne dort die Menge die ich in Access einfügen will. das ganze soll über VBA geschehen.
Das öffnen der Excel Datei beim Focuserhallt des Feldes funktionier einwandfrei. Beim schliessen, möchte ich nun das Resultat in die Zwischenablage kopieren, damit ich das im aktuelle Access Feld einsetzen kann.
Der Code für das kopieren ist der folgende

Sub Schaltfläche3_Klicken()
' Endbestand kopieren für Access
ActiveSheet.Unprotect
Range("G23").Value = Range(Kopieren).Value
Range("G23").Copy
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True
Workbooks("Einzeleier.xlsm").Close SaveChanges:=True
End Sub

Das kopieren funktioniert auch, aber in Access wird nichts eingesetzt.
Vielleicht kann mir jemand weiterhelfen
Schon mal herzlichen Dank für Eure Hilfe
Gruss Dani
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Daten nach Access kopieren
17.01.2020 17:07:03
volti
Hallo Daniel,
setze den Kopierbefehl mal hinter den Protect-Befehl. Dann sollte es gehen. Manche Aktionen in Excel, wie z.B. Ein/Ausschalten der Bearbeitungsleiste und auch dieser Protect-Befehl, löschen einfach wieder die Zwischenablage....
PS: Warum hebst Du überhaupt den Blattschutz auf und kopiert Du nicht einfach gleich aus Range(Kopieren)?
Sub Schaltfläche3_Klicken()
'
' Endbestand kopieren für Access
'
'
    ActiveSheet.Unprotect
    Range("G23").Value = Range(Kopieren).Value
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
    Scenarios:=True
    Range("G23").Copy
    Workbooks("Einzeleier.xlsm").Close SaveChanges:=True
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: Excel Daten nach Access kopieren
18.01.2020 11:55:51
DANIEL
Hallo Karl Heinz
Ich habe den Code abgeändert, jetzt funktioniert es einwandfrei.
Danke für deine Schnelle Hilfe
Gruss Dani
Sub Schaltfläche3_Klicken()
' Endbestand kopieren für Access
Range(Kopieren).Copy
Workbooks("Einzeleier.xlsm").Close SaveChanges:=True
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Daten nach Access übertragen


Schritt-für-Schritt-Anleitung

Um Daten von Excel nach Access zu kopieren, kannst Du VBA (Visual Basic for Applications) nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und erstelle ein neues Makro oder öffne das bestehende, in dem Du die Daten kopieren möchtest.

  2. Füge den folgenden VBA-Code hinzu:

    Sub Schaltfläche3_Klicken()
       ' Endbestand kopieren für Access
       Range("G23").Copy
       Workbooks("Einzeleier.xlsm").Close SaveChanges:=True
    End Sub
  3. Starte das Makro, um die Daten aus der angegebenen Zelle (G23) zu kopieren.

  4. Öffne Access und füge die kopierten Daten in das gewünschte Feld ein.

Achte darauf, dass die Excel-Datei und die Access-Datenbank richtig verknüpft sind, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

  • Problem: Daten werden nicht in Access eingefügt.

    • Lösung: Stelle sicher, dass der Kopierbefehl vor dem Schließen der Excel-Datei ausgeführt wird. Der Schutz des Arbeitsblatts könnte die Zwischenablage löschen. Hier ein verbessertes Beispiel:
    Sub Schaltfläche3_Klicken()
      ' Endbestand kopieren für Access
      ActiveSheet.Unprotect
      Range("G23").Copy
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
      Workbooks("Einzeleier.xlsm").Close SaveChanges:=True
    End Sub
  • Problem: Zwischenablage ist leer.

    • Lösung: Überprüfe, ob der Kopierbefehl tatsächlich ausgeführt wird, bevor die Excel-Datei geschlossen wird.

Alternative Methoden

Falls Du eine andere Methode zur Datenübertragung bevorzugst, kannst Du auch die Access VBA-Funktionen verwenden, um Daten direkt in eine Access-Tabelle zu übertragen. Hier ein Beispiel:

Sub DatenNachAccess()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = OpenDatabase("C:\Pfad\zu\deiner\Datenbank.accdb")
    Set rs = db.OpenRecordset("DeineTabelle")

    rs.AddNew
    rs.Fields("Feldname").Value = Worksheets("Tabelle1").Range("G23").Value
    rs.Update

    rs.Close
    db.Close
End Sub

Diese Methode ermöglicht eine direkte Manipulation der Access-Datenbank über Excel.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du Daten von einer Excel-Tabelle in eine Access-Tabelle übertragen kannst:

  1. Excel-Tabelle:

    • Angenommen, Du hast eine Excel-Tabelle mit Verkäufen in Spalte A, und Du möchtest diese in die Access-Tabelle namens Verkäufe übertragen.
  2. VBA-Code:

    Sub VerkäufeNachAccess()
       Dim db As DAO.Database
       Dim rs As DAO.Recordset
       Set db = OpenDatabase("C:\Pfad\zu\deiner\Datenbank.accdb")
       Set rs = db.OpenRecordset("Verkäufe")
    
       Dim i As Integer
       For i = 1 To 10 ' Übertrage die ersten 10 Zeilen
           rs.AddNew
           rs.Fields("Verkauf") = Worksheets("Tabelle1").Cells(i, 1).Value
           rs.Update
       Next i
    
       rs.Close
       db.Close
    End Sub

In diesem Beispiel wird eine Schleife verwendet, um mehrere Zeilen aus Excel in die Access-Datenbank zu übertragen.


Tipps für Profis

  • Nutze Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in Deinen VBA-Code ein, um unerwartete Fehler abzufangen.

    On Error GoTo Fehlerbehandlung
  • Teste Deinen Code schrittweise: Führe den Code Zeile für Zeile aus, um sicherzustellen, dass alles wie gewünscht funktioniert.

  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um zu erklären, was jeder Abschnitt macht. Das erleichtert die Wartung.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Daten korrekt kopiert werden?
Verwende Debugging-Tools in VBA, um den Status der Variablen zu überprüfen und sicherzustellen, dass die Daten wie erwartet kopiert werden.

2. Welche Excel-Version benötige ich für den Zugriff auf VBA?
Du benötigst eine Version von Excel, die VBA unterstützt, z.B. Excel 2010 oder neuer.

3. Kann ich mehrere Zellen gleichzeitig kopieren?
Ja, Du kannst mehrere Zellen kopieren, indem Du den Bereich anpasst, z.B. Range("A1:A10").Copy.

4. Ist es möglich, die Access-Datenbank automatisch zu aktualisieren?
Ja, Du kannst VBA verwenden, um Daten in Access automatisch zu aktualisieren, indem Du den richtigen Code schreibst, der die Datenbankverbindung herstellt.

5. Was tun, wenn ich eine Fehlermeldung beim Zugriff auf die Datenbank erhalte?
Überprüfe den Pfad zur Datenbank und stelle sicher, dass Du die richtigen Berechtigungen hast, um auf die Datenbank zuzugreifen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige