10 τρόποι για να επιταχύνετε τις μακροεντολές σας

Καθώς οι μακροεντολές Excel γίνονται όλο και πιο ισχυρές και πολύπλοκες, μπορεί να διαπιστώσετε ότι χάνουν την απόδοσή τους. Όταν μιλάμε για μακροεντολές, η λέξη απόδοση είναι συνήθως συνώνυμη με την ταχύτητα . Η ταχύτητα είναι το πόσο γρήγορα οι διαδικασίες VBA εκτελούν τις προβλεπόμενες εργασίες τους. Ακολουθούν δέκα τρόποι για να διατηρήσετε τη λειτουργία των μακροεντολών Excel στο βέλτιστο επίπεδο απόδοσης.

Παύση υπολογισμών φύλλου

Γνωρίζατε ότι κάθε φορά που αλλάζει ή χειρίζεται ένα κελί που επηρεάζει οποιονδήποτε τύπο στο υπολογιστικό φύλλο σας, το Excel υπολογίζει εκ νέου ολόκληρο το φύλλο εργασίας; Σε φύλλα εργασίας που έχουν μεγάλο αριθμό τύπων, αυτή η συμπεριφορά μπορεί να επιβραδύνει δραστικά τις μακροεντολές σας.

Μπορείτε να χρησιμοποιήσετε την ιδιότητα Application.Calculation για να πείτε στο Excel να μεταβεί στη λειτουργία μη αυτόματου υπολογισμού. Όταν ένα βιβλίο εργασίας βρίσκεται σε λειτουργία χειροκίνητου υπολογισμού, το βιβλίο εργασίας δεν θα επανυπολογίσει μέχρι να ενεργοποιήσετε ρητά έναν υπολογισμό πατώντας το πλήκτρο F9.

Τοποθετήστε το Excel σε λειτουργία μη αυτόματου υπολογισμού, εκτελέστε τον κώδικά σας και μετά επιστρέψτε στη λειτουργία αυτόματου υπολογισμού.

Sub Macro1()
Application.Calculation = xlCalculationManual
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
Application.Calculation = xlCalculationAutomatic
End Sub

Η επαναφορά της λειτουργίας υπολογισμού σε xlCalculationAutomatic θα ενεργοποιήσει αυτόματα έναν επανυπολογισμό του φύλλου εργασίας, επομένως δεν χρειάζεται να πατήσετε το πλήκτρο F9 μετά την εκτέλεση της μακροεντολής σας.

Απενεργοποίηση ενημέρωσης οθόνης φύλλου

Μπορεί να παρατηρήσετε ότι όταν εκτελούνται οι μακροεντολές σας, η οθόνη σας τρεμοπαίζει αρκετά. Αυτό το τρεμόπαιγμα είναι το Excel που προσπαθεί να σχεδιάσει ξανά την οθόνη για να δείξει την τρέχουσα κατάσταση του φύλλου εργασίας. Δυστυχώς, κάθε φορά που το Excel επανασχεδιάζει την οθόνη, καταλαμβάνει πόρους μνήμης.

Μπορείτε να χρησιμοποιήσετε την ιδιότητα Application.ScreenUpdating για να απενεργοποιήσετε τις ενημερώσεις οθόνης μέχρι να ολοκληρωθεί η μακροεντολή σας. Η απενεργοποίηση της ενημέρωσης οθόνης εξοικονομεί χρόνο και πόρους, επιτρέποντας στη μακροεντολή σας να εκτελείται λίγο πιο γρήγορα. Αφού ολοκληρωθεί η εκτέλεση του κώδικα μακροεντολής, μπορείτε να ενεργοποιήσετε ξανά την ενημέρωση οθόνης.

Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Αφού επαναφέρετε την ιδιότητα ScreenUpdating σε True, το Excel θα ενεργοποιήσει αυτόματα μια νέα σχεδίαση της οθόνης.

Απενεργοποίηση ενημερώσεων γραμμής κατάστασης

Η γραμμή κατάστασης του Excel, που εμφανίζεται στο κάτω μέρος του παραθύρου του Excel, εμφανίζει συνήθως την πρόοδο ορισμένων ενεργειών στο Excel. Εάν η μακροεντολή σας λειτουργεί με πολλά δεδομένα, η γραμμή κατάστασης θα καταλαμβάνει κάποιους πόρους.

Είναι σημαντικό να σημειωθεί ότι η απενεργοποίηση της ενημέρωσης οθόνης είναι ξεχωριστή από την απενεργοποίηση της εμφάνισης της γραμμής κατάστασης. Η γραμμή κατάστασης θα συνεχίσει να ενημερώνεται ακόμα κι αν απενεργοποιήσετε την ενημέρωση οθόνης. Μπορείτε να χρησιμοποιήσετε την ιδιότητα Application.DisplayStatusBar για να απενεργοποιήσετε προσωρινά τυχόν ενημερώσεις της γραμμής κατάστασης, βελτιώνοντας περαιτέρω την απόδοση της μακροεντολής σας:

Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
End Sub

Λέμε στο Excel να αγνοήσει τα συμβάντα

Μπορείτε να εφαρμόσετε μακροεντολές ως διαδικασίες συμβάντων, λέγοντας στο Excel να εκτελεί συγκεκριμένο κώδικα όταν αλλάζει ένα φύλλο εργασίας ή ένα βιβλίο εργασίας.

Μερικές φορές, οι τυπικές μακροεντολές κάνουν αλλαγές που θα ενεργοποιήσουν μια διαδικασία συμβάντος. Για παράδειγμα, εάν έχετε μια τυπική μακροεντολή που χειρίζεται πολλά κελιά στο Φύλλο1, κάθε φορά που αλλάζει ένα κελί σε αυτό το φύλλο, η μακροεντολή σας πρέπει να τίθεται σε παύση ενώ εκτελείται το συμβάν Worksheet_Change.

Μπορείτε να προσθέσετε ένα άλλο επίπεδο ενίσχυσης της απόδοσης χρησιμοποιώντας την ιδιότητα EnableEvents για να πείτε στο Excel να αγνοεί συμβάντα ενώ εκτελείται η μακροεντολή σας.

Ορίστε την ιδιότητα EnableEvents σε False πριν εκτελέσετε τη μακροεντολή σας. Αφού ολοκληρωθεί η εκτέλεση του κώδικα μακροεντολής, μπορείτε να ορίσετε την ιδιότητα EnableEvents ξανά σε True.

Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
End Sub

Απόκρυψη αλλαγών σελίδας

Κάθε φορά που η μακροεντολή σας τροποποιεί τον αριθμό των γραμμών, τροποποιεί τον αριθμό των στηλών ή αλλάζει τη ρύθμιση σελίδας ενός φύλλου εργασίας, το Excel αναγκάζεται να χρειάζεται χρόνο για να υπολογίσει εκ νέου τις αλλαγές σελίδας που εμφανίζονται στο φύλλο.

Μπορείτε να αποφύγετε αυτήν τη συμπεριφορά απλώς αποκρύπτοντας τις αλλαγές σελίδας πριν ξεκινήσετε τη μακροεντολή σας.

Ορίστε την ιδιότητα φύλλου DisplayPageBreaks σε False για να αποκρύψετε αλλαγές σελίδας. Εάν θέλετε να συνεχίσετε να εμφανίζετε αλλαγές σελίδας μετά την εκτέλεση της μακροεντολής σας, ορίστε την ιδιότητα φύλλου DisplayPageBreaks ξανά σε True.

Sub Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Activesheet.DisplayPageBreaks = False
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Activesheet.DisplayPageBreaks = True
End Sub

Αναστολή ενημερώσεων συγκεντρωτικού πίνακα

Εάν η μακροεντολή σας χειρίζεται συγκεντρωτικούς πίνακες που περιέχουν μεγάλες πηγές δεδομένων, ενδέχεται να έχετε κακή απόδοση όταν κάνετε πράγματα όπως η δυναμική προσθήκη ή μετακίνηση συγκεντρωτικών πεδίων.

Μπορείτε να βελτιώσετε την απόδοση της μακροεντολής σας αναστέλλοντας τον επανυπολογισμό του συγκεντρωτικού πίνακα μέχρι να γίνουν όλες οι αλλαγές στο πεδίο περιστροφής. Απλώς ορίστε την ιδιότητα PivotTable.ManualUpdate σε True για να αναβάλετε τον επανυπολογισμό, εκτελέστε τον κώδικα μακροεντολής σας και, στη συνέχεια, ορίστε την ιδιότητα PivotTable.ManualUpdate ξανά σε False για να ενεργοποιήσετε τον εκ νέου υπολογισμό.

Sub Macro1()
ActiveSheet.PivotTables("PivotTable1").ManualUpdate=True
 "Τοποθετήστε τον κωδικό μακροεντολής σας εδώ
ActiveSheet.PivotTables("PivotTable1").ManualUpdate=False
End Sub

Αποφύγετε την αντιγραφή και επικόλληση

Είναι σημαντικό να θυμάστε ότι αν και το Macro Recorder εξοικονομεί χρόνο γράφοντας κώδικα VBA για εσάς, δεν γράφει πάντα τον πιο αποτελεσματικό κώδικα. Ένα χαρακτηριστικό παράδειγμα είναι πώς το Macro Recorder καταγράφει οποιαδήποτε ενέργεια αντιγραφής και επικόλλησης εκτελείτε κατά την εγγραφή.

Μπορείτε να δώσετε στις μακροεντολές σας μια μικρή ώθηση αποκόπτοντας τον μεσάζοντα και πραγματοποιώντας απευθείας αντιγραφή από ένα κελί σε ένα κελί προορισμού. Αυτός ο εναλλακτικός κώδικας χρησιμοποιεί το όρισμα Destination για να παρακάμψει το πρόχειρο και να αντιγράψει τα περιεχόμενα του κελιού A1 απευθείας στο κελί B1.

Εύρος ("A1"). Αντιγραφή Προορισμού:=Εύρος ("B1")

Εάν χρειάζεται να αντιγράψετε μόνο τιμές (όχι μορφοποίηση ή τύπους), μπορείτε να βελτιώσετε ακόμη περισσότερο την απόδοση αποφεύγοντας τη μέθοδο Αντιγραφής από κοινού. Απλώς ορίστε την τιμή του κελιού προορισμού στην ίδια τιμή που βρίσκεται στο κελί προέλευσης. Αυτή η μέθοδος είναι περίπου 25 φορές πιο γρήγορη από τη χρήση της μεθόδου αντιγραφής:

Εύρος ("B1").Τιμή = Εύρος ("A1").Τιμή

Εάν χρειάζεται να αντιγράψετε μόνο τύπους από ένα κελί σε άλλο (όχι τιμές ή μορφοποίηση), μπορείτε να ορίσετε τον τύπο του κελιού προορισμού στον ίδιο τύπο που περιέχεται στο κελί προέλευσης:

Εύρος ("B1").Τύπος = Εύρος ("A1").Τύπος

Χρησιμοποιώντας τη δήλωση Με

Κατά την εγγραφή μακροεντολών, συχνά χειρίζεστε το ίδιο αντικείμενο περισσότερες από μία φορές. Μπορείτε να εξοικονομήσετε χρόνο και να βελτιώσετε την απόδοση χρησιμοποιώντας τη δήλωση With για να εκτελέσετε πολλές ενέργειες σε ένα δεδομένο αντικείμενο σε μία λήψη.

Η δήλωση With που χρησιμοποιείται στο ακόλουθο παράδειγμα λέει στο Excel να εφαρμόσει όλες τις αλλαγές μορφοποίησης ταυτόχρονα:

    Με εύρος ("A1"). Γραμματοσειρά
    .Τόλμη = Αληθινή
    .Italic = Αληθινό
    .Υπογράμμιση = xlUnderlineStyleSingle
    Τέλος με

Το να αποκτήσετε τη συνήθεια να τεμαχίζετε τις ενέργειες σε δηλώσεις With όχι μόνο θα διατηρήσει τις μακροεντολές σας πιο γρήγορα αλλά θα διευκολύνει και την ανάγνωση του κώδικα μακροεντολής σας.

Αποφυγή της μεθόδου Επιλογή

Το Macro Recorder λατρεύει να χρησιμοποιεί τη μέθοδο Select για να επιλέγει ρητά αντικείμενα πριν προβεί σε ενέργειες σε αυτά. Γενικά δεν χρειάζεται να επιλέξετε αντικείμενα πριν εργαστείτε μαζί τους. Στην πραγματικότητα, μπορείτε να βελτιώσετε δραματικά την απόδοση της μακροεντολής μη χρησιμοποιώντας τη μέθοδο Επιλογή.

Αφού καταγράψετε τις μακροεντολές σας, συνηθίστε να τροποποιείτε τον κώδικα που δημιουργείται για να καταργήσετε τις μεθόδους Επιλογή. Σε αυτήν την περίπτωση, ο βελτιστοποιημένος κώδικας θα μοιάζει με τον ακόλουθο:

    Φύλλα ("Φύλλο1").Εύρος ("A1").FormulaR1C1 = "1000"
    Φύλλα ("Φύλλο 2"). Εύρος ("A1").FormulaR1C1 = "1000"
    Φύλλα ("Φύλλο 3"). Εύρος ("A1").FormulaR1C1 = "1000"

Σημειώστε ότι το τίποτα δεν επιλέγεται. Ο κώδικας χρησιμοποιεί απλώς την ιεραρχία αντικειμένων για να εφαρμόσει τις απαραίτητες ενέργειες.

Περιορισμός ταξιδιών στο φύλλο εργασίας

Ένας άλλος τρόπος για να επιταχύνετε τις μακροεντολές σας είναι να περιορίσετε τον αριθμό των φορών που αναφέρετε δεδομένα φύλλου εργασίας στον κώδικά σας. Είναι πάντα λιγότερο αποτελεσματικό να συλλέγετε δεδομένα από το φύλλο εργασίας παρά από τη μνήμη. Δηλαδή, οι μακροεντολές σας θα εκτελούνται πολύ πιο γρήγορα εάν δεν χρειάζεται να αλληλεπιδρούν επανειλημμένα με το φύλλο εργασίας.

Για παράδειγμα, ο ακόλουθος απλός κώδικας αναγκάζει τη VBA να επιστρέφει συνεχώς στα Φύλλα("Φύλλο1").Range("A1") για να πάρει τον αριθμό που απαιτείται για τη σύγκριση που εκτελείται στην πρόταση If:

Για ReportMonth = 1 έως 12
     If Range("A1").Value = ReportMonth Τότε
     MsgBox 1000000 / Μήνας αναφοράς
Τέλος εαν
Επόμενος Μήνας Έκθεσης

Μια πολύ πιο αποτελεσματική μέθοδος είναι να αποθηκεύσετε την τιμή στα Φύλλα ("Φύλλο1").Range("A1") σε μια μεταβλητή που ονομάζεται MyMonth. Με αυτόν τον τρόπο, ο κώδικας παραπέμπει στη μεταβλητή MyMonth αντί για το φύλλο εργασίας:

Dim MyMonth ως ακέραιος αριθμός
MyMonth = Εύρος ("A1").Τιμή
Για ReportMonth = 1 έως 12
If MyMonth = ReportMonth Τότε
MsgBox 1000000 / Μήνας αναφοράς
Τέλος εαν
Επόμενος Μήνας Έκθεσης

Εξετάστε το ενδεχόμενο να αξιοποιήσετε μεταβλητές για να εργαστείτε με δεδομένα στη μνήμη σε αντίθεση με την απευθείας αναφορά σε φύλλα εργασίας.

Αποφύγετε την υπερβολική αναφορά

Όταν καλείτε μια μέθοδο ή μια ιδιότητα ενός αντικειμένου, πρέπει να περάσει από τη διεπαφή IDispatch του στοιχείου OLE. Οι κλήσεις σε αυτά τα στοιχεία OLE χρειάζονται χρόνο, επομένως η μείωση του αριθμού αναφορών σε στοιχεία OLE μπορεί να βελτιώσει την ταχύτητα του κώδικα μακροεντολής.

Για την επίκληση ιδιοτήτων ή μεθόδων αντικειμένου, χρησιμοποιείται γενικά η μέθοδος αναπαράστασης του  Object.Method  , δηλαδή το "." Το σύμβολο χρησιμοποιείται για την επίκληση ιδιοτήτων και μεθόδων.

Επομένως, ο αριθμός των κλήσεων μεθόδου ή ιδιοτήτων μπορεί να κριθεί σύμφωνα με τον αριθμό των συμβόλων ".". Όσο λιγότερο το "." σύμβολο, τόσο πιο γρήγορα εκτελείται ο κωδικός.

Για παράδειγμα, η ακόλουθη δήλωση περιλαμβάνει 3 σύμβολα ".".

ThisWorkbook.Sheet1.Range("A1").Value = 100

Η ακόλουθη δήλωση έχει μόνο ένα σύμβολο ".".

Activewindow.Top = 100

Ακολουθούν μερικά κόλπα για να μειώσετε τον αριθμό των συμβόλων "." να τρέχει πιο γρήγορα.

Πρώτον, όταν χρειάζεται να αναφέρεστε επανειλημμένα στο ίδιο αντικείμενο, μπορείτε να ορίσετε το αντικείμενο σε μια μεταβλητή για να μειώσετε τον αριθμό των κλήσεων. Για παράδειγμα, ο ακόλουθος κώδικας απαιτεί δύο κλήσεις ανά γραμμή.

ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = 100
ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = 200
ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = 300

Επειδή το  αντικείμενο Sheets("Sheet1")  πρέπει να αναφέρεται επανειλημμένα, μπορεί να οριστεί πρώτα σε μια μεταβλητή  sht  , έτσι ώστε κάθε κώδικας να χρειάζεται να καλείται μόνο μία φορά.

Set sht = ThisWorkbook.Sheets("Sheet1")
sht.Cells(1, 1) = 100
sht.Cells(2, 1) = 200
sht.Cells(3, 1) = 300

Δεύτερον, εάν δεν θέλετε να δηλώσετε μια προσωρινή μεταβλητή sht, μπορείτε επίσης να χρησιμοποιήσετε τη  δήλωση With  που αναφέρθηκε προηγουμένως. Όπως φαίνεται στο παρακάτω παράδειγμα:

With ThisWorkbook.Sheets("Sheet1")
    .Cells(1, 1) = 100
    .Cells(2, 1) = 200
    .Cells(3, 1) = 300
End With

Τρίτον,  όταν υπάρχουν πολλοί βρόχοι, προσπαθήστε να διατηρήσετε ιδιότητες και μεθόδους εκτός του βρόχου.  Όταν χρησιμοποιείτε ξανά μια τιμή ιδιότητας του ίδιου αντικειμένου σε έναν βρόχο, μπορείτε πρώτα να αντιστοιχίσετε την τιμή ιδιότητας σε μια καθορισμένη μεταβλητή εκτός του βρόχου και, στη συνέχεια, να χρησιμοποιήσετε τη μεταβλητή στον βρόχο, η οποία μπορεί να επιτύχει μεγαλύτερη ταχύτητα. Όπως φαίνεται στο παρακάτω παράδειγμα:

For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = Cells(1, 2).Value
Next i

Κάθε βρόχος σε αυτό το παράδειγμα λαμβάνει την ιδιότητα Value του κελιού Cells(1,2). Εάν αντιστοιχίσετε την ιδιότητα Value του Cells(1.2) σε μια μεταβλητή πριν από την έναρξη του βρόχου, θα έχετε ταχύτερη εκτέλεση. Όπως φαίνεται στο παρακάτω παράδειγμα:

tmp = Cells(1, 2).Value
For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = tmp
Next i

Ο παραπάνω κωδικός καλεί  ThisWorkbook.Sheets("Sheet1")  κάθε φορά που κάνει βρόχο. Μπορείτε να το κάνετε πιο γρήγορα χρησιμοποιώντας τη  δήλωση With  για να μετακινήσετε την κλήση στο  ThisWorkbook.Sheets("Sheet1")  εκτός του βρόχου. Όπως φαίνεται στο παρακάτω παράδειγμα:

tmp = Cells(1, 2).Value
With ThisWorkbook.Sheets("Sheet1")
    For i = 1 To 1000
        .Cells(1, 1) = tmp
        .Cells(2, 1) = tmp
        .Cells(3, 1) = tmp
    Next i
End With

Αποφύγετε τη χρήση τύπων παραλλαγών

Οι αρχάριοι συνήθως προτιμούν να χρησιμοποιούν μεταβλητές τύπου Variant, οι οποίες έχουν το πλεονέκτημα ότι είναι λιγότερο περίπλοκες, επειδή οποιοσδήποτε τύπος δεδομένων μπορεί να χρησιμοποιηθεί χωρίς πρόβλημα υπερχείλισης μνήμης, εάν τα δεδομένα είναι πολύ μεγάλα για τους τύπους δεδομένων Integer ή Long. Ωστόσο, τα δεδομένα τύπου Varienmt απαιτούν περισσότερο χώρο μνήμης από τους άλλους καθορισμένους τύπους (2 byte για ακέραια δεδομένα, 4 byte για δεδομένα μεγάλου μήκους και 16 byte για δεδομένα παραλλαγής), η VBA απαιτεί περισσότερο χρόνο για την επεξεργασία δεδομένων τύπου παραλλαγής από άλλους καθορισμένους τύπους των δεδομένων. Όπως δείχνει το παρακάτω παράδειγμα.

Sub VariantTest()
    Dim i As Long
    Dim ix As Integer, iy As Integer, iz As Integer
    Dim vx As Variant, vy As Variant, vz As Variant
    Dim tm As Date
    vx = 100: vy = 50
    tm = Timer
    For i = 1 To 1000000
        vz = vx * vy
        vz = vx + vy
        vz = vx - vy
        vz = vx / vy
    Next i
    Debug.Print "Variant types take " & Format((Timer - tm), "0.00000") & " seconds"
    ix = 100: iy = 50
    tm = Timer
    For i = 1 To 1000000
        iz = ix * iy
        iz = ix + iy
        iz = ix - iy
        iz = ix / iy
    Next i
    Debug.Print "Integer types take " & Format((Timer - tm), "0.00000") & " seconds"
End Sub

Στον παραπάνω κώδικα, οι γραμμές 8 έως 13 κάνουν 1 εκατομμύριο πράξεις πρόσθεσης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης μεταβλητών Variant και οι γραμμές 17 έως 22 κάνουν 1 εκατομμύριο πράξεις πρόσθεσης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης μεταβλητών ακέραιου αριθμού. Στον υπολογιστή μου, η λειτουργία της μεταβλητής Variant χρειάστηκε περίπου  0,09375  δευτερόλεπτα, ενώ η λειτουργία της μεταβλητής Integer χρειάστηκε περίπου  0,03125  δευτερόλεπτα. Τα αποτελέσματα μπορεί να διαφέρουν από υπολογιστή σε υπολογιστή, αλλά  οι μεταβλητές Variant είναι σημαντικά πιο αργές από τις μεταβλητές Integer .

Για αυτόν τον λόγο,  συνιστάται να αποφεύγετε τη χρήση μεταβλητών Variant όταν μπορείτε να χρησιμοποιήσετε ρητά τον καθορισμένο τύπο δεδομένων .


Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Τρόπος διόρθωσης σφαλμάτων κατά την εκτύπωση λανθασμένων εγγράφων του Microsoft Word Τα σφάλματα στην εκτύπωση εγγράφων Word με αλλαγμένες γραμματοσειρές, ακατάστατες παραγράφους, κείμενο που λείπει ή χαμένο περιεχόμενο είναι αρκετά συνηθισμένα. Ωστόσο, μην το κάνετε

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Εάν έχετε χρησιμοποιήσει το στυλό ή το highlighter για να σχεδιάσετε στις διαφάνειες του PowerPoint κατά τη διάρκεια μιας παρουσίασης, μπορείτε να αποθηκεύσετε τα σχέδια για την επόμενη παρουσίαση ή να τα σβήσετε, ώστε την επόμενη φορά που θα το δείξετε να ξεκινήσετε με καθαρές διαφάνειες PowerPoint. Ακολουθήστε αυτές τις οδηγίες για να διαγράψετε σχέδια με στυλό και επισημάνσεις: Σβήσιμο γραμμών μία στο […]

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μην κατακλύζετε το κοινό σας με τεράστιους αριθμούς. Στο Microsoft Excel, μπορείτε να βελτιώσετε την αναγνωσιμότητα των πινάκων εργαλείων και των αναφορών σας μορφοποιώντας τους αριθμούς σας ώστε να εμφανίζονται σε χιλιάδες ή εκατομμύρια.

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Μάθετε πώς να χρησιμοποιείτε τα εργαλεία κοινωνικής δικτύωσης του SharePoints που επιτρέπουν σε άτομα και ομάδες να επικοινωνούν, να συνεργάζονται, να μοιράζονται και να συνδέονται.

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]