ich hab da ein Problem, zu dessen Lösung ich einfach nichts Verwertbares finden kann.
Ich habe eine Mappe1 in der Auswertungen gemacht werden sollen. Täglich sollen neue Daten aus einer Mappe2-Tabelle"Details" in Tabelle1 der Mappe1 importiert werden (einfach kompletten Bereich ohne Überschriften an den letzten Eintrag in Tabelle1 anfügen). Dazu soll aber geprüft werden, welche Dateien bereits importiert wurden. Deshalb lasse ich per Makro (DateienAuflisten) die bestehenden Dateien im Verzeichnis in die Spalte H Mappe1-Tabelle2 schreiben. Wie kann ich nun den Abgleich machen, um zu sehen, welche Dateien neu in das Verzeichnis gekommen sind, diese auswählen und "importieren" lassen?
Desweiteren besteht noch das Problem, dass in den Spalten neben dem Datenbereich Formeln stehen, die natürlich nach dem "Import" neben den eingefügten Daten nach unten aktualisiert werden sollen ....
Sub DateienAuflisten()
Dim i As Long
Const Pfad = "C:\Exceldateien\"
On Error GoTo fehler
ChDir Pfad
Range("H1").Select
With Application.FileSearch
.NewSearch
.LookIn = Pfad
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
ActiveCell.Value = .FoundFiles(i)
'ActiveCell.Hyperlinks.Add ActiveCell, ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Next i
End With
Exit Sub
fehler:
MsgBox "Es gibt kein Verzeichnis mit dem Namen " & Pfad
End Sub
Das Import-Makro (noch im Teststadium) funktioniert grundsätzlich, aber leider halt nur innerhalb einer Mappe ...
Sub Import_Bereich()
Dim rng As Range
Dim rng2 As Range
Dim lRow As Integer
Set rng = ThisWorkbook.Worksheets("Tabelle1").Range("A1").CurrentRegion
Set rng2 = rng.Offset(1, 0).Resize(rng.Rows.Count - 1, rng.Columns.Count)
rng2.Copy
'letzte Zeile
lRow = Tabelle1.UsedRange.Rows.Count
Cells(rng1 + 1, 1).Select
Selection.PasteSpecial _
Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Kann mir irgendjemand auf die Sprünge helfen ... packe ich das zu kompliziert an?
Danke schon mal im Voraus
Gruß
Vinz