Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Κλείδωμα - Ξεκλείδωμα όλων των φύλλων ενός βιβλίου
Καλησπέρα και συγχαρητήρια για τη βοήθεια που μας παρέχετε. Έχω περάσει αρκετές ώρες διαβάζοντας θέματά σας και λύσεις και ομολογώ ότι έχω βοηθηθεί πάρα πολύ δημιουργώντας ήδη αρκετά πράγματα στο excel που πριν τα έκανα αρκετά δύσκολα και μέσω "Ζιμπάμπουε" πολλές φορές. Είναι το πρώτο ερώτημά μου στο forum και θα ήθελα την βοήθειά σας. Έχω ένα βιβλίο με 35 - 40 φύλλα. Σε όλα τα φύλλα έχω κλειδωμένα κελιά με διάφορους τύπους και υπερσυνδέσεις. Όλα τα φύλλα τα έχω προστατευμένα (χωρίς κωδικό) για λόγους αποφυγής τυχαίων καταχωρήσεων. Όταν όμως θέλω να αλλάξω να προσθέσω ή να διορθώσω οτιδήποτε σε τύπους κλπ κλειδωμένα κελιά, πρέπει να ξεκλειδώνω ένα ένα φύλλο και μετά να ξανακλειδώνω. Θα ήθελα λοιπόν ένα κώδικα VBA για να τον σετάρω με κουμπί στο αρχικό φύλλο που θα μου ξεκλειδώνει απ΄ ευθείας όλα τα φύλλα και με δεύτερο πάτημα (όταν έχω τελειώσει διορθώσεις) να ξανακλειδώνει όλα τα φύλλα σύμφωνα με τις επιλογές που έχω για προστασία. Ευχαριστώ και αναμένω |
#2
|
Καλημέρα Μια πρόταση, χωρίς κουμπιά είναι η εξής: Υποθέτουμε, ότι έχουμε ένα βιβλίο, με πρώτο (βασικό) φύλλο το MainSheet. Ακόμα, θεωρούμε ότι σε όλα τα υπόλοιπα φύλλα, έχει γίνει σωστά το κλείδωμα κάποιων κελιών, με την γνωστή διαδικασία. Το κλείδωμα είναι, χωρίς κωδικό και επιτρέπει μόνο την επιλογή, μη κλειδωμένων κελιών... Στα συμβάντα βιβλίου, βάζουμε, τους δύο πιο κάτω κώδικες: Κώδικας: Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim WS As Worksheet If ActiveSheet.Name <> "MainSheet" Then ActiveSheet.Unprotect Select Case MsgBox("Η προστασία έχει καταργηθεί." & vbLf _ & "Θέλετε να την επαναφέρετε;", vbYesNo, "Ερώτηση...") Case vbYes ActiveSheet.Protect Case vbNo Exit Sub End Select End If End Sub Κώδικας: Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Dim WS As Worksheet If ActiveSheet.Name <> "MainSheet" Then ActiveSheet.Protect End If End Sub Κάθε φορά που θα «μπαίνουμε» σε ένα οποιοδήποτε φύλλο, πλήν του MainSheet, μας ρωτάει αν θέλουμε να καταργήσουμε την προστασία... Πατάμε το ανάλογο κουμπί Yes - No Όταν «βγούμε» από το φύλλο, η προστασία επανέρχεται, αυτόματα... Σημειώσεις: 1 Αλλάξτε το όνομα MainSheet, με ό,τι θέλετε... 2 Το MainSheet, δεν είναι απαραίτητο, να είναι το πρώτο φύλλο, του βιβλίου... |
#3
| |||
| |||
Καλημέρα Μια πρόταση με κουμπί. Λεπτομέρειες στο συνημμένο |
#4
| |||
| |||
Σπύρο και Γιάννη σας ευχαριστώ πάρα πολύ για την άμεση ανταπόκρισή σας. Μακάρι όλοι μας να δείχνουμε την ίδια αλληλεγγύη σε ανθρώπους που ζητούν την βοήθειά μας σε κάθε πτυχή της ζωής μας. Είστε αξιέπαινοι και πάλι σας ευχαριστώ. Δοκίμασα και τα δύο και δουλεύουν άψογα!!!. Προτίμησα όμως τη λύση του Γιώργου. Αλλά και η λύση του Σπύρου μου έδωσε το έναυσμα για χρησιμοποίησή της με κάποια τροποποίηση σε άλλο αρχείο μου. "Με ένα σμπάρο δύο τρυγόνια". Σας ευχαριστώ για το χρόνο σας και κυρίως για την διάθεσή σας για βοήθεια. |
#5
|
Καλησπέρα Κατ' αρχήν, ευχαριστούμε για τα καλά σου λόγια! Ως υποσημείωση, για να βλέπουμε και λίγο τα πράγματα πιο σφαιρικά, θα ήθελα σου πω, (ανεξάρτητα από την επιλογή σου) ότι η λύση που πρότεινα, έχει το πλεονέκτημα, να εξασφαλίζει το κλείδωμα του κάθε φύλλου, κατά την έξοδο, έτσι ώστε αν χρησιμοποιήσει το βιβλίο και άλλος χρήστης να μην «μπει» σε ένα ξεκλείδωτο βιβλίο, αν για παράδειγμα ξεχάσεις να πατήσεις και πάλι το κουμπί πριν την έξοδο...και αποθήκευση. Αυτό ήταν και το κίνητρο, για την λύση που πρότεινα...και δεν πρότεινα κάτι με κουμπί... Θα μπορούσε κανείς, αν πρέπει οπωσδήποτε να έχει κουμπί στον κώδικα, να βάλει το συμβάν BeforeClose ή BeforeSave (ανάλογα το έργο και τις προτιμήσεις του) να προστατεύει το βιβλίο ή τα φύλλα, στην αποθήκευση ή στο κλείσιμο του βιβλίου, για να αποφύγει αυτά που είπαμε πιο πάνω... Και πάλι, ευχαριστούμε για τα καλά σου λόγια! |
#6
| |||
| |||
Σπύρο σε ευχαριστώ και πάλι.Για αυτό είπα "με ένα σμπάρο δύο τρυγόνια¨. Η δική σου λύση όπως έγραψα μου έδωσε το έναυσμα και τη χρησιμοποίησα ήδη σε άλλο αρχείο ακριβώς για τους λόγους που γράφεις (μπαινοβγαίνουμε πολλοί). Σε αυτό το έργο προτίμησα τη λύση του Γιώργου γιατι μπαίνω μόνο εγώ και ξεκλειδώνω τα φύλλα όταν θέλω να αλλάξω για διάφορους λόγους συναρτήσεις,τύπους κλπ μαζικά σε πολλά φύλλα.Και πάλι ευχαριστώ
|
#7
| |||
| |||
Καλησπέρα Αία, δες το συνημμένο. 1)Βελτίωσα λίγο τον κώδικα κλειδώματος των φύλλων. 2) Πρόσθεσα κώδικα στο συμβάν BeforeClose, ώστε το βιβλίο να αποθηκεύεται με προστατευμένα φύλλα. Κατά την προσαρμογή του κώδικα στη γραμμή: Worksheets("Sheet1").cmdLockUnlock.Caption = "UnLock" της διαδικασίας BeforeClose, τα Sheet1 και cmdLockUnlock, θα πρέπει να αλλάξουν με το όνομα του φύλλου και του κουμπιού αντίστοιχα. Φιλικά/Γιώργος |
#8
| |||
| |||
Γιώργο σε ευχαριστώ......θα το εφαρμόσω...για ακόμη περισσότερη σιγουριά. Σπύρο και σε σένα οι ευχαριστίες μου.
|
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Γενικά] Κλείδωμα βιβλίου | manolis | Excel - Ερωτήσεις / Απαντήσεις | 3 | 11-03-20 21:29 |
[Μορφοποίηση] Κλείδωμα κελιού με βάση το περιεχόμενο ενός άλλου. | dimharos | Excel - Ερωτήσεις / Απαντήσεις | 1 | 28-05-16 06:06 |
[ Υποφόρμες ] Κώδικας για Ξεκλείδωμα | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 3 | 20-10-12 20:59 |
Ξεκλείδωμα αρχειου mdb | manolis | Access - Ερωτήσεις / Απαντήσεις | 5 | 15-07-10 21:06 |
[Γενικά] Δημιουργία λίστας φύλλων ενός βιβλίου | Billy | Excel - Ερωτήσεις / Απαντήσεις | 3 | 14-06-10 08:01 |
Η ώρα είναι 10:51.