Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Syntax bei Array

Forumthread: Syntax bei Array

Syntax bei Array
29.12.2005 11:26:03
Torsten
Hallo beisammen,
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
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Syntax bei Array
29.12.2005 11:29:05
Reinhard
Hi Torsten,
streich das as integer bei Dim myarr
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: erledigt - mT
29.12.2005 11:38:03
Torsten
Hallo Reinhard,
vielen Dank für die schnelle Antwort.
Ich weiß zwar nicht warum das Weglassen des "as Integer" zum Erfolg führt, denn letztlich ist ein Array doch auch nur eine Variable, aber es funktioniert.
Nochmals schönen Dank und einen guten Start ins neue Jahr.
Gruß
Torsten
Anzeige
AW: erledigt - mT
29.12.2005 16:43:47
Hugo
Hallo,
Dim myArray As Integer
dimensioniert eine Integervariable und keine Arrayvariable.
Ohne "As Integer" nimmt die Variable den Datentyp Variant an - spätestens in dem Moment, wo du ihr den Array übergibst. Und "Variant" wird für ein Datenfeld auch benötigt.
Hugo
AW: erledigt - Aha, Danke für Info - Gruß Torsten
29.12.2005 16:48:04
Torsten
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige