Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Επανεμφάνιση στηλών μετά από εισαγωγή κωδικού (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2480-epanemfanisi-stilon-meta-apo-eisagogi-kodikoi.html)

ΤΖΙΜΗΣ 15-04-13 22:45

Επανεμφάνιση στηλών μετά από εισαγωγή κωδικού
 
1 Συνημμένο(α)
Καλησπέρα σε όλους τους αγαπητούς φίλους.Ξεκίνησα ένα πρδ με ένα test ερωτήσεων το οποίο πιστεύω στη πορεία να το βελτιώσω.Στο συνημμένο έχω δημιουργήσει τα εξής:
1.Στο φύλλο υποδοχή όπου είναι το καλωσόρισμα του test και θα ξεκινάει με το άνοιγμα του βιβλίου.
2.Στο φύλλο Απαντήσεις όπου βρίσκονται οι απαντήσεις του test και θα γίνει απόκρυψη του, μέσα από τη VBA.(στο πρδ έχει γίνει απλά απόκρυψη φύλλου)
3.Στο φύλλο Ερωτήσεις όπου ο εξεταζόμενος καλείται να απαντήσει στις ερωτήσεις. Σε όλο το φύλλο εκτός από την στήλη C έχει οριστεί προστασία.(στο πρδ δεν έχω ορίσει κωδικό)
Η ερώτηση μου είναι η εξής.
Πώς μπρούμε να αποκρύψουμε τις στήλες D & Ε και η επανεμφάνισή τους να γίνεται μέσα από την εισαγωγή κωδικού , ώστε κατά τη διάρκεια συμπλήρωσής του να μην βλέπει τα αποτελέσματα ,αλλά μόνο όταν θα επανεμφανιστούν οι στήλες D & E.
Ευχαριστώ εκ των προτέρων
Τζίμης.

Tasos 16-04-13 09:41

1 Συνημμένο(α)
Καλημέρα!

Δημήτρη δοκίμασε το συνημμένο παρακάτω.


Με εκτίμηση

Τάσος

Spirosgr 16-04-13 11:41

1 Συνημμένο(α)
Καλημέρα
Μια διαφορετική προσέγγιση θα μπορούσε να είναι η εξής
Ισχύει για 2007 έκδοση και μεταγενέστερη (κορδέλα)
Βάζουμε κωδικό όνομα φύλλων Sh1, Sh2 αν έχουμε Ελληνική έκδοση στην θέση Φύλλο 1,Φύλλο 2
Παράθυρο ιδιοτήτων Name (Developer)
Άλλως αφήνουμε το Sheet1, Sheet2 κωδικό όνομα φύλλων (μας εξυπηρετεί κι έτσι)
Βάζουμε τον κώδικα σε μια module και συνδέουμε ένα κουμπί (Sub test)
Ονομάζουμε ένα κελί MyCode και εκεί θα μπαίνει ο κωδικός αριθμός κλειδώματος / ξεκλειδώματος
Στο παράδειγμα 123456 (Αλλάξτε κατά το δοκούν. Αν επιλέξετε λέξη να μπει σε " ")
Αν στο κελί δεν υπάρχει ο σωστός ή καθόλου κωδικός τότε οι Columns("D:E") είναι κριμένες και η κορδέλα της excel επίσης
Βάζουμε και τον κώδικα Sub Auto_Open στην module με τις πιο κάτω προσθήκες
Κατά το άνοιγμα όλα παραμένουν κριμένα

Κώδικας:

Sub Auto_Open()
    Sh1.Activate
    Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"", false)"
    Sh2.Columns("D:E").ColumnWidth = 0
End Sub

Κώδικας:

Sub test()
    If Range("MyCode").Value = 123456 Then
        Columns("D:E").EntireColumn.AutoFit
        Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"", True)"
        Range("MyCode").ClearContents
        ActiveWindow.DisplayHeadings = False
    Else
        Exit Sub
    End If
End Sub

Καλό είναι οι τύποι στα κελιά των D:E να είναι της μορφής
Κώδικας:

=IF(C3<>"";IF(C3=ΑΠΑΝΤΗΣΕΙΣ!A1;"ΣΩΣΤΟ";"ΛΑΘΟΣ");"") και =IF(D3<>"";IF(D3="ΣΩΣΤΟ";2;0);"")
Αποδίδουν κενό αν δεν υπάρχει απάντηση
Βάζοντας τον σωστό κωδικό στο MyCode και πιέζοντας το κουμπί ανοίγουν οι στήλες και η κορδέλα
Επεξεργαζόμαστε και βγαίνουμε με Save

ΤΖΙΜΗΣ 16-04-13 11:52

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

Spirosgr 18-04-13 18:33

1 Συνημμένο(α)
Καλησπέρα
ΤΖΙΜΗ το αρχείο που θέλεις με τα χαρακτηριστικά που ζήτησες
και οδηγίες μέσα στο φύλλο info
που πρέπει να διαγραφεί ή να αντιγραφεί κάπου αλλού μέχρι να
κατανοήσετε πλήρως την λειτουργία του βιβλίου
Έχουν γίνει και βελτιώσεις λειτουργικότητας και εμφάνισης
(τα κακόμοιρα τα παιδιά θα βλέπουν αστεράκια με το κόκκινο χρώμα του test):027:

Spirosgr 02-05-13 02:05

1 Συνημμένο(α)
Καλημέρα σε όλους καλή Μ. Εβδομάδα και καλό Μήνα
Για τον ΤΖΙΜΗ (η υπόσχεση είναι υπόσχεση) και για όποιον έχει παρόμοιο θέμα να κρύψει τα μενού της excel στο βιβλίο που ακολουθεί σε xls υπάρχει το εξής:
Στο "παρασκήνιο" εκεί που γράφουμε τους κώδικες VBA στο ThisWorkbook υπάρχουν δύο κώδικες που με το άνοιγμα ενεργοποιούν την απόκρυψη των μενού και με το κλείσιμο την απενεργοποιούν
Προσοχή εδώ στο εξής
Εξαφανίζονται τα μενού όλης της εφαρμογής και όχι μόνο του συγκεκριμένου βιβλίου που σημαίνει ότι αν πρέπει ταυτόχρονα να ανοιχτεί κι άλλο ( άλλα ) βιβλία ΔΕΝ θα έχουν μενού
Πρέπει ή να κλείσει το Ερωτηματολόγιο ή να απενεργοποιήσουμε την εντολή από το φύλλο ΑΠΑΝΤΗΣΕΙΣ πιέζοντας το κουμπί που υπάρχει εκεί
ή με Alt + F11 να μπούμε στην VBA και να την απενεργοποιήσουμε από εκεί (με κλικ επάνω στον κώδικα και κλικ στο τριγωνικό βέλος των μενού της VBA που τρέχει τους κώδικες)
Ακόμα σε Module υπάρχουν οι απαραίτητοι κώδικες για να γίνουν όλα όσα πρέπει ώστε να παραμείνει το τεστ απρόσιτο από τον εξεταζόμενο (ανάλυση μέσα στους κώδικες) και έχουν γίνει και κάποιες προσθήκες και βελτιώσεις σε σχέση με το προηγούμενο παράδειγμα (xlsm) που έκρυβε την κορδέλα όπως αυτόματη εξαγωγή αποτελέσματος του τεστ (πχ 84 στα 100) και αποτύπωση χρόνου ενεργοποίησης της εμφάνισης των απαντήσεων
Κωδικός εισόδου είναι 123456 και ο ίδιος κωδικός ξεκλειδώματος φύλλου (αν και εφ' όσον ζητηθεί)
Αν αλλάξετε τον κωδικό με λέξη να μπει σε " "
Καλή συνέχεια!

ΤΖΙΜΗΣ 04-05-13 11:25

Σπύρο ένα ευχαριστώ είναι πολύ λίγο Υπέροχη υλοποίηση του θέματος τόσο στην εκτέλεση όσο και στην σύλληψη του.
Σου εύχομαι ΚΑΛΗ ΑΝΑΣΤΑΣΗ με υγεία και ότι ποθείς.
Με εκτίμηση Τζίμης


Η ώρα είναι 10:25.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2