Aus 9 verschiedenen Dateien ("VERBRAUCH XXX.XLS" XXX = unterschiedlich) sollen Verbrauchswerte in einer anderen Datei (Bestand.xls) entsprechenden Artikelnummern zugeordnet werden.
Da der Prozess immer identisch ist, (mit Ausnahme des Namens der Datei), habe ich im Hauptprogramm den entsprechenden Dateinamen als string definiert und in einem Unterprogramm soll er dann verarbeitet werden.
Sub SAP_FHK_Daten_Holen()
Workbooks.OpenText Filename:= _
"F:\Apotheke\Apotheke intern\Bestellprogramme\Firmenbestellungen\SAP-Dateien\Verbrauch FHK.XLS" _
, Origin:=1250, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Dim Datei As String
Datei = "Verbrauch FHK.XLS"
Range("B3").Select
Application.Run "'Makros Eintrag Monatsdaten VBA.xls'!Artikelnummern_ergänzen"
End Sub
Unterprogramm
Sub Artikelnummern_ergänzen()
Anfang:
Windows(Datei).Activate
ActiveCell.Offset(1, -1).Select
If ActiveCell.Value = 0 Then
GoTo Ende:
Else
Dim ARTIKELNUMMER As Variant
ARTIKELNUMMER = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
Selection.Copy
Windows("BESTAND.xls").Activate
Columns("A:A").Select
Selection.Find(What:=ARTIKELNUMMER, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
ActiveCell.Offset(0, 3).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo Anfang:
End If
Ende:
End Sub
Das Makro stoppt beim Unterprogramm mit der Fehlermeldung "Index außerhalb des gültigen Bereiches", beim debuggen wird mir der Programmschritt "Windows(Datei).Activate" angezeigt.
Hat jemand eine Idee?
Gruß Jochen
|