Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenimport: Wer findet den Fehler?

Datenimport: Wer findet den Fehler?
10.08.2018 11:36:32
Dennis10ir
Hallo zusammen,
Ich möchte Daten aus einer Excel-Datei (xls, xlsx, csv, ...) in meine Excel-Datei importieren. Hierbei soll nur die erste Spalte in meine erste Spalte vom Tabellenblatt "Datenbank" eingefügt werden.
Leider bekomme ich immer die Fehlermeldung "Typen unverträglich"
Findet jemand den Fehler?
    Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
Datei = Application.GetOpenFilename("Excel-Dateien(*.xls; *.xlsx; *.csv),*xls; *xlsx; *csv") _
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
Workbooks.Open Filename:=Datei
Blatt = ActiveSheet.Range("A:A").Value
Set Ziel = ThisWorkbook.Worksheets("Datenbank")
Blatt = Ziel.Range("A:A").Value
Set Quelle = ActiveWorkbook.Worksheets(Blatt)
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
ActiveWorkbook.Close
Set Quelle = Nothing
Set Ziel = Nothing
Exit Sub
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport: Wer findet den Fehler?
10.08.2018 11:56:42
Nepumuk
Hallo,
die Variable Blatt enthält die komplette Spalte A: Blatt = Ziel.Range("A:A").Value
Das sind über 1 Million Werte. Und hier greifst du auf die Werte zu: ActiveWorkbook.Worksheets(Blatt)

Das kann nicht klappen.
Gruß
Nepumuk
AW: Datenimport: Wer findet den Fehler?
10.08.2018 12:19:54
Dennis10ir
Hallo Nepomuk,
Vorerst vielen Dank für deine Antwort.
Klingt für mich plausibel, dachte der nimmt dann nur die vorhandenen Zellen in Spalte A (wie bei Formeln wenn man A:A eingibt).
Ich habe den Codeschnipsel jetzt wie folgt angepasst:

Workbooks.Open Filename:=Datei
Blatt = ActiveSheet.Range("A1:A15000").Value
Set Ziel = ThisWorkbook.Worksheets("Datenbank")
Blatt = Ziel.Range("A1:A15000").Value
Set Quelle = ActiveWorkbook.Worksheets(Blatt)
Leider bekomme ich aber die gleiche Fehlermeldung... -.-
Anzeige
AW: Datenimport: Wer findet den Fehler?
10.08.2018 12:24:42
Nepumuk
Hallo Dennis,
du hast das nicht verstanden.
Hier: ActiveWorkbook.Worksheets(Blatt)
wird der Name einer Tabelle erwartet, nicht ein Array mit 15.000 Werten.
Gruß
Nepumuk
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:31:34
Dennis10ir
Ja, das habe ich dann tatsächlich falsch verstanden.
Habe jetzt die beiden "Blatt"-Zeilen rausgenommen.
Jetzt wird natürlich die komplette andere Datei importiert, ich will aber ja nur Spalte A
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:38:52
Nepumuk
Hallo Dennis,
warum andere Datei? Die Datei wählst du doch im Dialog aus.
Willst du nur Spalte A einer bestimmten Tabelle importieren oder was?
Beschreib einfach was du vor hast.
Gruß
Nepumuk
Anzeige
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:40:09
Dennis10ir
Ja richtig. Es soll immer nur die Spalte A in meine Spalte A importiert werden
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:39:19
Dennis10ir
hatte gedacht das geht so:
...
Workbooks.Open Filename:=Datei
Set Ziel = ThisWorkbook.Sheets("Datenbank").Range("A:A")
Set Quelle = ActiveWorkbook.Sheets(1).Range("A:A")
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
...
Aber dann kommt nur der FehlerNr. 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Also muss es ja irgendwie anders zu lösen sein
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:49:01
Nepumuk
Hallo Dennis,
teste mal:
Public Sub ImportData()
    Dim Quelle As Worksheet, Ziel As Worksheet
    Dim objWorkbook As Workbook
    Dim Datei As Variant
    
    On Error GoTo Fehler
    
    Datei = Application.GetOpenFilename("Excel-Dateien(*.xls; *.xlsx; *.csv),*xls; *xlsx; *csv")
    
    If Datei <> False Then
        
        Set Ziel = ThisWorkbook.Worksheets("Datenbank")
        
        Set objWorkbook = Workbooks.Open(Filename:=Datei)
        
        Set Quelle = objWorkbook.Worksheets(1)
        
        Quelle.Columns(1).Copy Ziel.Cells(1, 1)
        
        objWorkbook.Close SaveChanges:=False
        
        sub_exit:
        Set Quelle = Nothing
        Set Ziel = Nothing
        Set objWorkbook = Nothing
        
    Else
        MsgBox "keine Datei ausgewählt", , "Abbruch"
    End If
    
    Exit Sub
    
    Fehler:
    
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
        & "Beschreibung: " & Err.Description, vbCritical, "Fehler"
    
    Resume sub_exit
End Sub

Gruß
Nepumuk
Anzeige
AW: Datenimport: Wer findet den Fehler?
10.08.2018 14:53:36
Dennis10ir
Tausend Dank dir!
Konnte bei mir einfach
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
durch
Quelle.Column(1).Copy Ziel.Cells(1, 1)
ersetzen ;)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige