Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1500to1504
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
Importieren von Daten aus einer .xlsm Datei
11.07.2016 08:19:18
Daten
Hallo,
ich habe folgendes Problem: Ich möchte eine Tabelle (.xlsm) erstellen, welche mit Daten aus einer anderen (monatlich komplett neu erstellten) Excel-Datei (auch .xlsm) gefüttert werden soll.
Folgendes Modul habe ich bereits:
Sub ImportNeueDaten()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien (*.xls;*.xlsm;*.xlsx), *.xls; *.xls;*.xlsm;*. _
_
xlsx", _
MultiSelect:=True)
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
'MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(1)
'kopieren und einfügen
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
ActiveWorkbook.Close
'Speicher freigeben
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"
End Sub
Ausgeführt wird dieses über ein UserForm mit CommandButton.
Allerdings wird mir nachdem ich eine Datei auswähle der Fehler
"FehlerNr.: 13
Beschreibung: Typen unverträglich" angezeigt.
Was mache ich falsch?
Die Quelldatei ist sehr groß, liegt es vielleicht daran?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Importieren von Daten aus einer .xlsm Datei
11.07.2016 10:23:56
Daten
Hi
Du hast im GetOpenFilename eingestellt, dass mehrere Dateien ausgewählt werden können (multiselect:=true)
Dann ist das Ergebnis kein einzelner Textstring, sondern ein eindimensionales Array.
Verwende daher besser Multiselect:=false.
Gruß Daniel

AW: Importieren von Daten aus einer .xlsm Datei
11.07.2016 10:30:32
Daten
Danke, diesen Fehler habe ich auch schon ausgebessert. Die Fehlermeldung kommt jetzt nicht mehr.
Allerdings ist wohl die Quelldatei zu groß und hängt sich deswegen auf, beim Versuch, die Daten zu importieren.
Ich versuche es jetzt über folgende Änderung:
'kopieren und einfügen
'Quelle.UsedRange.Copy Ziel.Cells(1, 1)
Quelle.Range("Q5475:JQ11106").Copy Ziel.Cells(1, 1)
Aber an welcher Stelle füge ich den Namen des Reiters ein? Der Reiter heißt Daten.

Anzeige
AW: Importieren von Daten aus einer .xlsm Datei
11.07.2016 11:14:21
Daten
Hi
quelle ist doch schon das Tabellenblatt, das passt schon so.
wenn der Bereich zu gross ist, kannst du mal probieren, nicht alles auf einmal zu kopieren, sondern kleinere Blöcke, ggf per Schleife.
Gruß Daniel

AW: Importieren von Daten aus einer .xlsm Datei
12.07.2016 07:46:13
Daten
Mein Code sieht nun so aus:
Sub ImportNeueDaten()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
On Error GoTo Fehler
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien (*.xlsm;*.xlsx), *.xlsm;*.xlsx", _
MultiSelect:=False)
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "Sie haben keine Datei zum Import ausgewählt", , "Abbruch"
Exit Sub
End If
'MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets(1)
'kopieren und einfügen
'Quelle.UsedRange.Copy Ziel.Cells(1, 1)
Set Quelle = ActiveWorkbook.Worksheets("Daten")
Quelle.Range("Q20:JQ11106").Copy Ziel.Cells(1, 1)
ActiveWorkbook.Close
'Speicher freigeben
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"
End Sub
Klappt alles wunderbar.
Aber ist es auch möglich, die gesamten Daten erst in Zeile 2 einzufügen, sodass in die erste Zeile feststehende Begriffe können, so dass man auch Filtern kann? Wie würde der Code dazu aussehen?
Versuche mich seit gestern dran und suche auch schon erfolglos durch das Internet...

Anzeige
AW: Importieren von Daten aus einer .xlsm Datei
12.07.2016 14:59:29
Daten
Hi
naja, wie wäre es, wenn du einfach mal die VBA-Hilfe von Excel lesen würdest oder einfach nur den Code?
Copy heißt kopieren und wenn man nach dem Kopieren noch eine Zelle einfügt, wird das kopierte dort eingefügt.
Es reicht, als Ziel die linke obere Zelle des Einfügebereichs einzugeben.
das Cells(x, y) ist so aufgebaut, dass der erste Wert in der Klammer (das x) für die Zeilennummer steht und der zweite Wert (das y) für die Spaltennummer.
mit diesen Informationen solltest du in der Lage sein, dir den Code selber entsprechend anzupassen.
Gruß Daniel

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige