
01-04-11, 21:59
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλησπέρα κι από μένα!
Γιώργο, επίτρεψε μου να σου πω και εγώ ένα μπράβο για την προσπάθεια σου!
Εκτός από το Error trapping, θα πρέπει στον προγραμματισμό με VBA να αναφερόμαστε απευθείας στα αντικείμενα
της Excel χωρίς Select, Selection, ActiveCell, Activate γιατί εκτός τη κατά πολύ μειωμένη ταχύτητα εκτέλεσης που προσφέρουν,
προκαλούν την συνεχή ανανέωση της οθόνης και το κυριότερο: προκαλούν λάθη!
Γενικά θα πρέπει να αποφεύγουμε τις πολλές εναλλαγές στην οθόνη (δεν είναι ότι καλύτερο αισθητικά)
Δες τον κώδικα σου με κάποιες αλλαγές και χωρίς τη χρήση Select που δεν θα χρειαστεί πολύ δουλειά στην αποσφαλμάτωση του: Κώδικας: Option Explicit
Sub Insert()
Dim strFile As String, wb As Workbook, wks As Worksheet, rng As Range
strFile = "C:\test 1\test1.xls"
With Application
.ScreenUpdating = False
.ShowWindowsInTaskbar = False
If Dir(strFile, vbDirectory) <> vbNullString Then
Set rng = Rows("8:8")
Set wb = Workbooks.Open(Filename:=strFile, IgnoreReadOnlyRecommended:=True)
Set wks = wb.Worksheets("Sheet3")
rng.Copy
wks.Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteAll
wb.Save
wb.Close False
.ScreenUpdating = True
.ShowWindowsInTaskbar = True
'ThisWorkbook.Save
'.Quit
End If
End With
End Sub
Καλή συνέχεια!
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |