Note: The other languages of the website are Google-translated. Back to English

Πώς να αποκρύψετε ή να αποκρύψετε ένα συγκεκριμένο φύλλο εργασίας με βάση την τιμή κελιού σε άλλο φύλλο;

Υπάρχουν μέθοδοι για να αποκρύψουμε ή να αποκρύψουμε μια συγκεκριμένη καρτέλα φύλλου εργασίας που βασίζεται σε περιεχόμενο κελιού σε άλλο φύλλο; Για παράδειγμα, όταν εισάγω το κείμενο "Ναι" στο κελί G1 του Sheet2, θέλω το Sheet1 να είναι κρυμμένο και όταν εισάγω "No", το Sheet1 θα εμφανίζεται ταυτόχρονα. Πώς μπορώ να λύσω αυτό το πρόβλημα στο Excel;

Απόκρυψη ή απόκρυψη συγκεκριμένης καρτέλας φύλλου εργασίας με βάση την τιμή κελιού με τον κώδικα VBA


βέλος μπλε δεξιά φούσκα Απόκρυψη ή απόκρυψη συγκεκριμένης καρτέλας φύλλου εργασίας με βάση την τιμή κελιού με τον κώδικα VBA

Για να αποκρύψετε ή να αποκρύψετε μια συγκεκριμένη καρτέλα φύλλου εργασίας με βάση μια τιμή κελιού σε ένα άλλο φύλλο εργασίας, ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει, κάντε τα εξής:

1. Μεταβείτε στο φύλλο εργασίας που περιέχει την τιμή κελιού στο οποίο θέλετε να αποκρύψετε ένα άλλο φύλλο βάσει.

2. Κάντε δεξί κλικ στην καρτέλα φύλλων και επιλέξτε Προβολή κωδικού, στο αναδυόμενο Microsoft Visual Basic για εφαρμογές παράθυρο, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στο κενό παράθυρο της ενότητας, δείτε το στιγμιότυπο οθόνης:

Κωδικός VBA: Απόκρυψη ή απόκρυψη καρτέλας φύλλου εργασίας με βάση την τιμή κελιού:

Private Sub Worksheet_Change(ByVal Target As Range)
If [G1] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
End Sub

doc απόκρυψη καρτέλας με βάση την τιμή κελιού 1

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

3. Στη συνέχεια, αποθηκεύστε και κλείστε αυτόν τον κωδικό, όταν εισαγάγετε "Όχι" ή άλλο κείμενο στο κελί G1, το Φύλλο1 είναι κρυφό, αλλά εάν εισαγάγετε "Ναι" στο κελί, το Φύλλο1 εμφανίζεται ταυτόχρονα, δείτε στιγμιότυπα οθόνης:

doc απόκρυψη καρτέλας με βάση την τιμή κελιού 2
1
doc απόκρυψη καρτέλας με βάση την τιμή κελιού 3

 


Τα καλύτερα εργαλεία παραγωγικότητας του Office

Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%

  • Επαναχρησιμοποίηση: Εισαγάγετε γρήγορα σύνθετοι τύποι, γραφήματα και οτιδήποτε έχετε χρησιμοποιήσει στο παρελθόν. Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές / στήλες... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Υποστηρίζει Office / Excel 2007-2021 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας. Πλήρεις δυνατότητες δωρεάν δοκιμής 30 ημερών. Εγγύηση επιστροφής χρημάτων 60 ημερών.
kte καρτέλα 201905

Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου

 

Σχόλια (23)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας
Ευχαριστώ για την συμβουλή. Πρέπει να κάνω το ίδιο σενάριο αλλά όχι μόνο σε ένα κελί (G1 σε αυτήν την περίπτωση) αλλά σε όλα τα κελιά της στήλης G. Έχω δοκιμάσει με το "Range" αλλά δεν λειτούργησε.

Προσωπικό φύλλο εργασίας Sub_change (ByVal Target As Range)
If Range("X2:X100") = "" Τότε
Φύλλα ("ΜΕΤΡΗΣΕΙΣ ΜΕ ΒΑΣΗ ΚΑΘΗΚΩΝ ΕΕ"). Ορατό = Λάθος
Αλλού
Φύλλα ("ΜΕΤΡΗΣΕΙΣ ΜΕ ΒΑΣΗ ΚΑΘΗΚΩΝ ΕΕ"). Ορατό = Αληθές
End If
Sub End


Σας ευχαριστώ εκ των προτέρων
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Υπάρχει περίπτωση να απαντηθεί αυτό; Αντιμετωπίζω επίσης αυτό το σενάριο όπου ένα ολόκληρο εύρος μπαίνει στο παιχνίδι αντί για ένα μόνο κελί... Χρησιμοποίησα την ίδια κωδικοποίηση με τα ίδια αποτελέσματα.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έκανα 2 φύλλα εργασίας ως εξής:
Προσωπικό φύλλο εργασίας Sub_change (ByVal Target As Range)
Αν [C20] = "Ναι" Τότε
Sheets("sheet1").Visible = True
Αλλού
Φύλλα ("φύλλο1"). Ορατό = Λάθος
End If
Αν [C22] = "Ναι" Τότε
Sheets("sheet2").Visible = True
Αλλού
Φύλλα ("φύλλο2"). Ορατό = Λάθος
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πολύ χρήσιμο!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Θέλω να δω αν μπορείτε να βοηθήσετε με το πρόβλημά μου. Είχα ουσιαστικά αυτόν ακριβώς τον κωδικό σε ένα φύλλο που χρησιμοποιώ αλλά με ένα ή συνάρτηση, οπότε η απάντηση μπορεί να είναι "ναι" ή "αληθής". Ωστόσο, το φύλλο που κρύβεται/αποκρύπτεται μερικές φορές ξανακρύβεται για άγνωστους λόγους. Θα εμφανιστεί όταν πληκτρολογήσω ναι, αλλά όταν πάω να το χρησιμοποιήσω αργότερα, κρύβεται ξανά, παρόλο που η τιμή του κελιού εξακολουθεί να είναι ναι. Έχετε ιδέα γιατί μπορεί να συμβαίνει αυτό ή/και πώς να το διορθώσετε;
Κωδικός για αναφορά:
Ιδιωτικό δευτερεύον φύλλο εργασίας_Change(ByVal Target As Range)'Αποκρύπτει/αποκρύπτει τη σελίδα βαθμονόμησης
If [B18] = "Yes" Or Target.Value = "True" Τότε
Φύλλα ("XXX Verification"). Visible = True
Αλλού
Φύλλα ("Επαλήθευση XXX"). Ορατό = Λάθος
End If

Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Το HiI έχω ένα βιβλίο εργασίας με πολλές επώνυμες καρτέλες συνδεδεμένες με ένα φύλλο ευρετηρίου στο μπροστινό μέρος. Ο χρήστης μπορεί να επιλέξει τα φύλλα που θέλει να χρησιμοποιήσει επιλέγοντας ένα πλαίσιο δίπλα στο όνομα του φύλλου - κενό, N/A ή Ναι (αναπτυσσόμενη λίστα). Υπάρχει τρόπος προσαρμογής αυτού του κωδικού έτσι ώστε το φύλλο να είναι ορατό εάν το πλαίσιο ελέγχου είναι κενό ή περιέχει "Ναι", αλλά όχι ορατό εάν το πλαίσιο ελέγχου περιέχει "Δ/Υ".
Έχω δοκιμάσει αλλά δεν γνωρίζω αρκετά για το VBA για να το κάνω να λειτουργήσει. Ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ψάχνω να αποκρύψω ή να αποκρύψω φύλλα με βάση μια τιμή κελιού (Ναι/Όχι). Οι τιμές βρίσκονται σε έναν πίνακα (tblFileContents) και στη στήλη D4:D25 και το όνομα του φύλλου είναι σε A4:A25 στο φύλλο . Η σειρά των ειδών μπορεί να αλλάξει. Έχετε αναφορά σε κάποιο παράδειγμα που θα μου επέτρεπε να το κάνω αυτό;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχω το ίδιο θέμα και κάποιος άλλος έδωσε λύση.
Δημιουργήστε έναν πίνακα (μορφοποίηση ως πίνακα) με 2 στήλες, ονομάστε την αριστερή στήλη Φύλλα για εμφάνιση/απόκρυψη, η δεξιά στήλη εξαρτάται από εσάς. Βάλτε όλα τα ονόματα φύλλων στην αριστερή στήλη
Στη συνέχεια, επιλέξτε Προβολή κώδικα για αυτήν την καρτέλα και πληκτρολογήστε Dim Changed As Range, c As Range, rMTS As Range
Dim i As Long
Dim bShowAll As Boolean

Ορισμός rMTS = Εύρος ("TblShowHide[Σήμανση για εμφάνιση]")
Set Changed = Intersect(Target, rMTS)
Αν δεν αλλάξει δεν είναι τίποτα τότε
bShowAll = Len(rMTS.Cells(1).Value) > 0
On Error Συνέχιση Επόμενη
Για i = 2 Σε rMTS.Rows.Count
Sheets(Range("TblShowHide[Show/Hide Sheets]").Cells(i).Value).Visible = IIf(bShowAll, True, Len(rMTS.Cells(i).Value) > 0)
Επόμενο i
Στο σφάλμα GoTo 0
End If
Sub End


Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Θα το δοκιμάσω. Ευχαριστώ πολύ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δεν είμαι σίγουρος τι πρέπει να αλλάξω, αλλά δεν μου λειτούργησε.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια Jean,
ναι έχω ένα παράδειγμα που επισυνάπτω εδώ. Μετονομάστε το αρχείο σε example.xlsm (δεν είναι συμπιεσμένο, αλλά έπρεπε να μετονομαστεί για μεταφόρτωση)
Στην καρτέλα μενού υπάρχει ένας πίνακας με τα διάφορα ονόματα καρτελών, κάντε ένα x ή οποιονδήποτε άλλο χαρακτήρα για να εμφανιστεί η καρτέλα, εάν αφαιρέσετε τον χαρακτήρα, η καρτέλα κρύβεται.
Ελπίζω ότι βοηθάει
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό περιέχει πολλά στοιχεία αλλά όχι αρχείο excel.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Θέλω να έχω ένα Μενού/Πίνακα περιεχομένων ως πρώτο φύλλο εργασίας και με βάση τις απαντήσεις Ναι/Όχι - ορισμένα φύλλα εργασίας εμφανίζονται, δηλαδή περισσότερα από 1 γίνονται ορατά.
Δυσκολεύομαι να εμφανιστούν πολλά φύλλα εργασίας με βάση τον παραπάνω κώδικα.
Μπορώ να χρησιμοποιήσω μια συνάρτηση AND π.χ. Εάν X κελί = "Ναι" Στη συνέχεια να γίνει ορατό το φύλλο Y και το φύλλο Z και το φύλλο K;
Οποιαδήποτε συμβουλή ευπρόσδεκτη.
Χαιρετισμούς
Ελένη
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
А я вот не може понять, как такое сделать в гугл таблицах именно;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου φίλος,

Μπορείτε να ανοίξετε ένα νέο φύλλο Google, να προσθέσετε ένα νέο φύλλο έτσι ώστε να υπάρχει ένα "Φύλλο1" και ένα "Φύλλο2" και, στη συνέχεια, μεταβείτε στα Εργαλεία > Επεξεργασία σεναρίων. Στο πρόγραμμα επεξεργασίας, επικολλήστε το παρακάτω.

συνάρτηση myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Φύλλο1");
var sheet2 = ss.getSheetByName("Φύλλο2");

var cell1 = sheet1.getRange('B2');

if (cell1.getValue() == 2) {
sheet2.hideSheet();
}

if (cell1.getValue() == 3) {
sheet2.showSheet();
}
}

Δοκιμάστε.

Με αγάπη,
Mandy
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτός ο κώδικας λειτουργεί άψογα, ωστόσο έχω 42 μεταβλητές για 70 φύλλα, οπότε αυτός ο κωδικός γίνεται πολύ μεγάλος και σταματά να λειτουργεί. Υπάρχει τρόπος να γίνει αυτός ο κώδικας σε ενότητες ώστε να μην υπερβαίνει το μέγεθος κώδικα που μπορεί να χειριστεί η VBA; Ή πρέπει να τα χωρίσω σε δύο ξεχωριστά excel;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, Λιζ
Λυπούμαστε, προς το παρόν, δεν υπάρχει καλός τρόπος για να λύσετε το πρόβλημά σας.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχω μια τιμή στο κελί Β1 που αν ναι αποκρύπτει το φύλλο1 αλλά και μια τιμή στο Β2 που είναι αν ναι αποκρύπτει το φύλλο 2 κ.λπ.. κρύβει/αποκρύπτει το τελευταίο φύλλο πρόστιμο αλλά όχι το υπόλοιπο, πώς θα έκανα να ας πούμε 10 τιμές αποκρύπτονται 10 διαφορετικά φύλλα; ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, Andy,
Για να λύσετε το πρόβλημά σας, εφαρμόστε τον παρακάτω κώδικα:
Private Sub Worksheet_Change(ByVal Target As Range)
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
If [B3] = "Yes" Then
Sheets("Sheet2").Visible = True
Else
Sheets("Sheet2").Visible = False
End If
If [B4] = "Yes" Then
Sheets("Sheet3").Visible = True
Else
Sheets("Sheet3").Visible = False
End If
If [B5] = "Yes" Then
Sheets("Sheet4").Visible = True
Else
Sheets("Sheet4").Visible = False
End If
If [B6] = "Yes" Then
Sheets("Sheet5").Visible = True
Else
Sheets("Sheet5").Visible = False
End If
End Sub

Note: Στον παραπάνω κώδικα, πρέπει απλώς να αντιγράψετε τα παρακάτω σενάρια πολλές φορές και να αλλάξετε την αναφορά του κελιού και το όνομα του φύλλου σε δικό σας.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


Παρακαλώ δοκιμάστε, ελπίζω να σας βοηθήσει!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αντιμετωπίζω ένα πρόβλημα όπου θέλω να εμφανίζεται η καρτέλα για ένα εύρος τιμών, αντί για ένα ΝΑΙ ή ΟΧΙ. Όταν προσπαθώ να επαναλάβω τη δήλωση IF στο δευτερεύον, μου βγάζει ένα σφάλμα και όταν προσπαθώ να παραθέσω πολλές τιμές στη δήλωση if, λαμβάνω ένα σφάλμα. Καμιά ιδέα?

Σχεδόν φαίνεται ότι πρέπει να χρησιμοποιήσω μια δήλωση IF/OR, αλλά δεν είμαι σίγουρος πώς θα λειτουργήσει.

Προσωπικό φύλλο εργασίας Sub_change (ByVal Target As Range)
Αν [K6] = "VS 1", "VS 2", "VS 3", VS 4" Τότε
Φύλλα ("Σελίδα 6"). Ορατό = Αληθές
Αλλού
Φύλλα ("Σελίδα 6"). Ορατό = Λάθος
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Μαργαρίτα,
Για να λύσετε το πρόβλημά σας, εφαρμόστε τον παρακάτω κώδικα, θα πρέπει να χρησιμοποιήσετε το Ή για να ενώσετε τις προϋποθέσεις.
Private Sub Worksheet_Change(ByVal Target As Range)
If [K6] = "VS 1" Or [K6] = "VS 2" Or [K6] = "VS 3" Or [K6] = "VS 4" Then
Sheets("Page6").Visible = True
Else
Sheets("Page6").Visible = False
End If
End Sub

Παρακαλώ δοκιμάστε, ελπίζω να σας βοηθήσει!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Skyyang - αυτό λειτούργησε τέλεια. Σας ευχαριστώ για την άμεση απάντησή σας!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Προσπαθώ να το χρησιμοποιήσω, αλλά εμφανίζεται "σφάλμα μεταγλώττισης - δεν μπορώ να βρω έργο ή βιβλιοθήκη" και επισημαίνει το κελί όπου βρίσκεται το αναπτυσσόμενο μενού Ναι/Όχι. Νομίζω ότι μπορεί να οφείλεται στο ότι αυτό είναι ένα συγχωνευμένο κελί, υπάρχει τρόπος να αποφύγετε αυτό;
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL