Απλώς πρέπει να ενεργοποιήσω ένα συγκεκριμένο φύλλο εργασίας. Έχω μια μεταβλητή συμβολοσειράς που διατηρεί το όνομα του φύλλου εργασίας.
Θα σας βοηθούσε το ακόλουθο Macro;
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
Βασικά θέλετε να χρησιμοποιήσετε τη συνάρτηση .Activate. Ή μπορείτε να χρησιμοποιήσετε τη συνάρτηση .Select ως εξής:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Θα σας συνιστούσα να χρησιμοποιήσετε το δείκτη του φύλλου εργασίας αντί για το όνομα του φύλλου εργασίας, με αυτόν τον τρόπο μπορείτε επίσης να κάνετε βρόχο στα φύλλα "δυναμικά",
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Αυτό θα βελτιώσει επίσης την απόδοση.
Ένας εναλλακτικός τρόπος για να συνδέσετε (όχι δυναμικά) ένα κείμενο για να ενεργοποιήσετε ένα φύλλο εργασίας χωρίς μακροεντολές είναι να κάνετε την επιλεγμένη συμβολοσειρά έναν πραγματικό σύνδεσμο. Μπορείτε να το κάνετε αυτό επιλέγοντας το κελί που περιέχει το κείμενο και πατώντας CTRL+K και στη συνέχεια επιλέγοντας την επιλογή/καρτέλα 'Place in this document' και επιλέγοντας την καρτέλα που θέλετε να ενεργοποιήσετε. Εάν κάνετε κλικ στο κείμενο (που είναι τώρα ένας σύνδεσμος), το διαμορφωμένο φύλλο θα γίνει ενεργό/επιλεγμένο.