Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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

Tabelle einlesen per Makro

Tabelle einlesen per Makro
28.08.2014 10:25:04
Bernd
Ich würde mich gerne von einen diversen Verknüpfungen zwischen Exceldateien verabschieden und Quelldaten per Makro in die Zieldatei einlesen. Die Daten sollen als Werte eingelesen werden, idealerweise auch das Format.
Es sollte möglichst so ablaufen:
1. Registerblatt der Quelldatei, in der sich die relevanten Daten befinden, soll vorgegeben werden (im Code).
2. Registerblatt der Zieldatei, in welche die Daten "importiert" werden soll, soll vorgegeben werden (im Code).
3. Der relevanten Datenbereich sollen ebenfalls vorgegeben werden: z. B. Ich möchte aus der Quelldatei A / Registerblatt "Daten" / Spalte B bis E, Zeile 4 bis Zeile 100 nach Zieldatei B / Registerblatt "Import" / Spalte C-F, Zeile 2 bis Zeile 103, Daten importieren.
Schön wäre es, wenn man bei Start des Makros die Quelldatei über eine Art Datei-Explorer aus einer beliebigen Verzeichnisstruktrur auswählen könnte.
Anbei habe ich Musterdateien angehängt, wie das optisch aussehen sollte.
Quelldatei:
https://www.herber.de/bbs/user/92344.xlsx
Zieldatei:
https://www.herber.de/bbs/user/92346.xlsx
Besten Dank im Voraus für Hilfe!

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle einlesen per Makro
28.08.2014 13:54:51
fcs
Hallo Bernd,
nachfolgend ein entsprechendes Makro, das in ein allgemeines Modul der Zieldatei oder in deiner persönlichen Makroarbeitsmappe eingefügt werden muss. Beim Start des Makros muss die Zieldatei die aktive Datei sein.
Gruß
Franz
Sub DatenImportieren()
Dim wkbQuelle As Workbook, wksQuelle As Worksheet, varQuelle As Variant
Dim wkbZiel As Workbook, wksZiel As Worksheet
On Error GoTo Fehler
Set wkbZiel = ActiveWorkbook
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte die Datei mit den Quelldaten auswählen"
Application.ScreenUpdating = False
If .Show = -1 Then
varQuelle = .SelectedItems(1)
Set wkbQuelle = Application.Workbooks.Open(varQuelle, ReadOnly:=True)
Set wksQuelle = wkbQuelle.Worksheets("Daten")
Set wksZiel = wkbZiel.Worksheets("Import")
With wksZiel.Range("C2:F103")
.ClearContents
.ClearFormats
End With
wksQuelle.Range("B4:E100").Copy
With wksZiel.Range("C2")
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
wkbQuelle.Close savechanges:=False
Set wkbQuelle = Nothing
End If
End With
Fehler:
Application.ScreenUpdating = True
With Err
Select Case .Number
Case 0 'alles OK
Case 9
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Tabelle ist in Datei nicht vorhanden", vbOKOnly, "Fehlerprüfung"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehlerprüfung"
End Select
End With
If Not wkbQuelle Is Nothing Then wkbQuelle.Close savechanges:=False
End Sub

Anzeige
AW: Tabelle einlesen per Makro /Danke!
28.08.2014 14:36:55
Bernd
Hallo Franz!
Scheint perfekt zu funktionieren! Vielen Dank !
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige