Jo, ich glaub die haben das nur gesagt, damit die das nicht machen müssen (wegen Lohn und so, jaja...)
Aber danke für deine Schnelle Antwort! Wenn ich das Makro jetzt so übernehme, erscheint ein Laufzeitfehler: das "ChDir strPath"-Pfad wird nicht gefunden.. Und da ich ziemlich Niveaulos in diesem Bereich bin, hoffe ich auf eine zweite Antwort von dir!;)
Bis dann.
Mali
____________________________________________
jh schrieb am 12.04.2008 11:22:10:
Hallo,
Keine Ahnung, was du für Informatiklehrer hast :-)
Deine Beschreibung dessen, was genau passieren soll,
ist zwar noch etwas unklar, aber natürlich lässt
sich so etwas machen.
Ich gehe mal davon aus, dass die Adresse der Zelle,
in der der aufzuaddierende Wert steht, in allen
Mappen gleich ist, sonst wird es etwas problematisch,
jedenfalls was die Geschwindigkeit angeht. Da du
schreibst, dass du einzelne Arbeitsmappen auswählen
willst, sollen wohl nicht automatisch alle Mappen im
Ordner einbezogen werden, obwohl natürlich auch das
möglich wäre. Ein möglicher Lösungsweg wäre folgender:
Dim lngSumme As Long, vntFile As Variant, _
strPath As String, i As Integer, _
strRange As String, wbkA As Workbook
strPath = "C:\Test\"
strRange = "C8"
ChDir strPath
vntFile = Application.GetOpenFilename( _
FileFilter:="Excel-Arbeitsmappen (*.xls), *.xls", _
MultiSelect:=True)
If IsArray(vntFile) Then
Application.ScreenUpdating = False
For i = LBound(vntFile) To UBound(vntFile)
Set wbkA = Workbooks.Open(vntFile(i))
lngSumme = lngSumme + wbkA.Worksheets(1). _
Range(strRange).Value
wbkA.Close SaveChanges:=False
Next i
Application.ScreenUpdating = True
End If
Es wird der Öffnen-Dialog angezeigt, in dem du bei
gedrückter Strg-Taste alle interessierenden Dateien
markierst. Ggf. muss der Benutzer auf die Möglichkeit
der Mehrfachauswahl hingewiesen werden. Wenn die Werte
Nachkommastellen enthalten, musst du die Summe natürlich
als Single oder Double deklarieren. Was du dann mit der
Summe anstellt, ist deinen Absichten überlassen...
Gruß
|