ich möchte in ein Excel Tool ein Makro einbauen, das folgende Funktionen hat:
1) Ich kann einen Dateipfad für eine Quellexcel auswählen, aus dem ich Daten Importieren möchte. (bereits erledigt)
2) Das Makro soll beim Aktivieren die Quellexcel öffnen (bereits erledigt)
3) In dieser Quellexcel sollen alle Zeilen, die eine Zelle mit einem bestimmten Wert (vorher im Excel eingegeben) enthalten, markiert werden. (siehe Versuch im Code)
4) Diese markierten Zeilen sollen dann kopiert werden und in die Ursprungsdatei, in ein bestimmtes Tabellenblatt, an einen bestehenden Datensatz angefügt werden. Sprich einfach reinkopiert werden. (siehe ebenfalls Code)
5) Das Makro soll nach dem Kopieren und Einfügen, die Quellexcel wieder schließen. Den Namen der zu schließenden Datei, soll sich das Makro aus dem zu Beginn angegebenen Pfad holen. (hier muss ich noch herausfinden wie ich den Dateinamen von dem eigentlich Pfad trenne)
Ich hoffe ihr könnt meiner laienhaften Beschreibung folgen. Unten seht ihr den Code, den ich bis jetzt geschrieben habe. Leider weiss ich nicht ob die Anweisung für den Suchbefehl syntaktisch richtig ist, da er mir hier einen Fehler wirft.
Über Eure Hilfe oder einen Hinweis würde ich mich sehr freuen. Vielen Dank
Chris
Sub GetNewReferenceData()
If Dir(Range("gc_import_excel_path")) = "" Then
MsgBox "A source for new Reference Data is not available. Please check path.", vbOKOnly _
_
+ vbCritical
Exit Sub
End If
' Check the key date
If Application.WorksheetFunction.IsNumber(Range("data_key_date")) = False Then
MsgBox ("Only key dates in the format YYYYMMDD allowed. Non-numeric characters found. _
_
Please correct the entry."), vbCritical
Exit Sub
End If
If Len(Range("data_key_date")) 8 Then
MsgBox ("Only key dates in the format YYYYMMDD allowed. More or less then 8 digits _
found. Please correct the entry."), vbCritical
Exit Sub
End If
'Open the source xls for the new refrence data
Dim to_find As Object
Workbooks.Open Filename:=Range("gc_import_excel_path")
'Search for the new reference data
Set to_find = Range("data_key_date")
ActiceSheet.Rows.Find(what:=tofind, LookIn:=xlValues, lookat:=xlWhole, SearchOrder:= _
xlByRows, SearchDirection:=xlNext).Select
'Copy new reference date into the report generator
Selection.Copy
Windows("140916_Report_Generator_neudaten_Chris_Importversion.xlsm").Activate
Sheets("Reference Data").Select
ActiveSheet.Paste
Windows("reference_Data_Probe_datei.xlsx").Activate 'close the source xls
ActiveWindow.Close
End Sub