Ξέρετε ότι μπορείτε να χρησιμοποιήσετε VB script στο Excel. Με την ευκαιρία της 21ης Απριλίου, ως παγκόσμια ημέρα καινοτομίας και δημιουργικότητας, έχουμε να σας δείξουμε tips με το τι μπορείτε να κάνετε χρησιμοποιώντας μακροεντολές και κώδικα στο Microsoft Excel.
Μακροεντολές
Έχουμε γράψει στο παρελθόν ένα άρθρο για τις μακροεντολές. Τις χρησιμοποιούμε όταν θέλουμε να αυτοματοποιήσουμε εργασίες που επαναλαμβάνονται σε ένα ή περισσότερα φύλλα εργασίας.
Οι μακροεντολές μπορεί να είναι απλές όπως για παράδειγμα να εισάγουμε αυτόματα με μία συγκεκριμένη μορφή την ημερομηνία σε ένα κελί, αλλά και σύνθετες όπως για παράδειγμα να αποθηκεύουμε με μορφή pdf το ανοιχτό αρχείο.
VB script στο excel
Visual Basic Script. Μπορείτε να γράψετε κώδικα ο οποίος θα υλοποιεί κάτι που δεν είναι εύκολο να κάνετε με μία μακροεντολή ή απλά θέλετε να επεξεργαστείτε μία υπάρχουσα μακροεντολή ή απλά... δεν θέλετε να καταγράψετε μακροεντολές.
Στην ουσία όταν καταγράφουμε μακροεντολές, δημιουργείται κώδικας. Αν κάποιος είναι έμπειρος μπορεί να γράψει απευθείας κώδικα VB script στο excel και να έχει το ίδιο αποτέλεσμα με το αν κατέγραφε μία μακροεντολή.
Αντικατάσταση τύπων με τιμές
Σε ένα φύλλο εργασίας μπορεί να υπάρχουν πολλά κελιά των οποίων οι τιμές προκύπτουν από τύπους. Σε περίπτωση που θέλουμε να στείλουμε ένα αντίγραφο του αρχείου κάπου και δεν θέλουμε να φαίνονται οι τύποι είτε γιατί δεν αφορούν τον παραλήπτη ή ακόμα μπορεί το αρχείο να έχει εξαρτήσεις από άλλα αρχεία τα οποία δεν μπορούμε να τα στείλουμε. Για την συγκεκριμένη δεξιότητα, υπάρχουν και άλλοι τρόποι. Μπορείτε να δείτε εδώ πως γίνεται η αντικατάσταση των τύπων με τιμές στο excel.
Στο φύλλο εργασίας που θέλετε να γίνει η αντικατάσταση πρέπει να συμπληρώσουμε τον παρακάτω κώδικα. Δείτε στο βίντεο πως χρησιμοποιείται.
Sub ConvertToValues()
With ActiveSheet.UsedRange
.Value = .Value
End With
End Sub
Ταξινόμηση όλων των φύλλων εργασίας αλφαβητικά
Αν θέλετε να ταξινομήσετε αλφαβητικά όλα τα φύλλα εργασίας σε ένα βιβλίο, τότε ο παρακάτω κώδικας θα σας χρειαστεί.
Sub SortSheetsTabName()
Application.ScreenUpdating = False
Dim ShCount As Integer, i As Integer, j As Integer
ShCount = Sheets.Count
For i = 1 To ShCount - 1
For j = i + 1 To ShCount
If Sheets(j).Name < Sheets(i).Name Then
Sheets(j).Move before:=Sheets(i)
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
Αποθήκευση ως pdf κάθε φύλλου εργασίας
Με τον παρακάτω κώδικα, μπορείτε να αποθηκεύσετε κάθε φύλλο εργασίας του ανοιχτού αρχείο με την μορφή .pdf
Υπό κανονικές συνθήκες, κάτι τέτοιο είναι χρονοβόρο. Με την χρήση μακροεντολών μπορούμε να αυτοματοποιήσουμε την διαδικασία και να την ολοκληρώνουμε με το πάτημα ενός κουμπιού.
Sub SaveWorkshetAsPDF()
Dim ws As Worksheet
For Each ws In Worksheets
ws.ExportAsFixedFormat xlTypePDF, ws.Name & ".pdf"
Next ws
End Sub