Syntax bei Array
29.12.2005 11:26:03
Torsten
vor einer Woche hat mir Luschi bei folgendem Code ausgeholfen:
Private Sub cmb_TRADE_Click()
Dim i As Integer
Dim j As Integer
Dim myArr As Integer
Dim wkb As Workbook
Dim wkbUpload As Workbook 'Dateien, aus welcher die Daten heraus kopiert werden sollen
Dim wksUpload As Worksheet 'WS, aus dem die Daten heraus kopiert werden sollen (Upload")
Dim wkbZiel As Workbook 'Datei, in welche die Daten eingefügt werden sollen (COPA_IMSO)
Dim wksDaten As Worksheet 'WS, in das die Daten eingefügt werden sollen
Dim intNächsteZeile As Integer
Dim intAnzahlZeilen As Integer
Application.ScreenUpdating = False
Application.StatusBar = "Der Vorgang wird einen Moment dauern. Bitte Geduld!"
Set wkbZiel = Workbooks.Open(strPath & "BW_TRADE", _
password:="", WriteResPassword:="") 'öffnet Zieldatei
Set wksDaten = wkbZiel.Sheets("Daten")
intNächsteZeile = wksDaten.UsedRange.Rows.Count + 1 'ermittelt nächste zu nutzende Zeile
Application.DisplayAlerts = False
myArr = Array("NL*", "IW*", "SER*", "OEM*")
For i = 0 To UBound(myArr)
With Application.FileSearch
.NewSearch
.LookIn = "E:\Extern\Budget\Budget 2006\Turnover_ADMIN\BW_Upload\"
.SearchSubFolders = False
.Filename = myArr(i)
If .Execute() > 0 Then
For j = 1 To .FoundFiles.Count
Workbooks.Open Filename:=.FoundFiles(j)
Set wkb = Activeworkbook
Set wksUpload = wkb.Sheets("Upload")
intAnzahlZeilen = wksUpload.UsedRange.Rows.Count - 1
wksUpload.Range(wksUpload.Cells(4, 1), wksUpload.Cells(intAnzahlZeilen, 108)).Copy
wksDaten.Range("$A$" & intNächsteZeile).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
wkb.Close savechanges:=False
intNächsteZeile = intNächsteZeile + intAnzahlZeilen - 3
wkbZiel.Save
Next j
End If
End With
Next i
wkbZiel.Close
Application.DisplayAlerts = True
Application.StatusBar = False
Application.ScreenUpdating = True
MsgBox "Die Datei BW_TRADE wurde aktualisiert"
End Sub
Nachdem ich das nun in meine Datei eingebaut habe, bricht Excel den Code leider ab mit der Meldung "Fehler beim Kompilieren; Erwartet: Datenfeld" und markiert
"UBound(myArr)". Könnt Ihr mir weiterhelfen?
Vielen Dank im voraus und
Gruß
Torsten