
14-03-12, 20:26
|
Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 18-09-2010 Περιοχή: Θεσσαλονίκη
Μηνύματα: 66
| |
Πολλαπλό άνοιγμα αρχείων και εισαγωγή δεδομένων
Το επισυναπτόμενο αρχείο περιέχει τον παρακάτω κώδικα Κώδικας: Sub InsertMultiData()
Dim FileArray As Variant
Dim i As Integer
Application.ScreenUpdating = False
FileArray = Application.GetOpenFilename(MultiSelect:=True)
If Not IsArray(FileArray) Then
MsgBox "Δεν ειλέξατε αρχείο." _
& vbLf & "Ξαναπροσπαθείστε!!!!!!!", vbInformation
Exit Sub
End If
If IsArray(FileArray) Then
For i = LBound(FileArray) To UBound(FileArray)
Workbooks.Open FileArray(i)
Range("A8:Q8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ThisWorkbook.Activate
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.ScreenUpdating = False
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
Next i
Else:
MsgBox "Επιτυχής εισαγωγή δεδομένων"
End If
End Sub
Με τον παραπάνω κώδικα ανοίγουν κάποια αρχεία προέλευσης δεδομένων , επιλέγεται μια περιοχή, αντιγράφεται και επικολλάται στο αρχείο προορισμού.
Τα ζητούμενα 2
1ον)Πως πρέπει να δομηθεί ο κώδικας ούτως ώστε το αρχείο προέλευσης των δεδομένων που ανοίγει (Workbooks.Open FileArray(i)), μετά την διαδικασία αντιγραφής και επικόλλησης να σώζεται και να κλείνει.
2ον)Επειδή η αρχή της περιοχής των δεδομένων που αντιγράφονται από τα αρχεία προέλευσης δεν είναι πάντα η περιοχή A8:Q8 ζητείται τροποποίηση του κώδικα ούτως ώστε η αρχή αυτή να προσδιορίζεται ως η περιοχή μετά τις επικεφαλίδες (Δηλ. από το επόμενο κελί μετά το κελί που έχει τιμή (Πωλητής) της στήλης Α έως τη στήλη Q).
Περιμένοντας τη βοήθειά σας, σας ευχαριστώ εκ των προτέρων.
Γιώργος
|