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

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

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

Office Tab Ενεργοποιήστε την επεξεργασία με καρτέλες και την περιήγηση στο Office και κάντε την εργασία σας πολύ πιο εύκολη ...
Το Kutools για Excel λύνει τα περισσότερα από τα προβλήματά σας και αυξάνει την παραγωγικότητά σας κατά 80%
  • Επαναχρησιμοποίηση οτιδήποτε: Προσθέστε τους πιο χρησιμοποιούμενους ή σύνθετους τύπους, γραφήματα και οτιδήποτε άλλο στα αγαπημένα σας και χρησιμοποιήστε τους γρήγορα στο μέλλον.
  • Περισσότερα από 20 χαρακτηριστικά κειμένου: Εξαγωγή αριθμού από συμβολοσειρά κειμένου. Εξαγωγή ή κατάργηση μέρους των κειμένων. Μετατροπή αριθμών και νομισμάτων σε αγγλικές λέξεις.
  • Συγχώνευση εργαλείων: Πολλαπλά βιβλία εργασίας και φύλλα σε ένα. Συγχώνευση πολλαπλών κελιών / σειρών / στηλών χωρίς απώλεια δεδομένων. Συγχώνευση διπλών σειρών και αθροίσματος.
  • Διαχωριστικά εργαλεία: Διαχωρίστε δεδομένα σε πολλαπλά φύλλα με βάση την τιμή. Ένα βιβλίο εργασίας για πολλαπλά αρχεία Excel, PDF ή CSV. Μία στήλη σε πολλές στήλες.
  • Επικόλληση παράλειψης Κρυφές / φιλτραρισμένες σειρές; Καταμέτρηση και άθροισμα ανά χρώμα φόντου; Αποστολή εξατομικευμένων μηνυμάτων ηλεκτρονικού ταχυδρομείου σε πολλούς παραλήπτες μαζικά.
  • Σούπερ φίλτρο: Δημιουργήστε προηγμένα σχήματα φίλτρων και εφαρμόστε σε οποιοδήποτε φύλλο. Είδος ανά εβδομάδα, ημέρα, συχνότητα και άλλα. Φίλτρο με έντονη γραφή, φόρμουλες, σχόλια ...
  • Περισσότερα από 300 ισχυρά χαρακτηριστικά. Λειτουργεί με το Office 2007-2019 και 365. Υποστηρίζει όλες τις γλώσσες. Εύκολη ανάπτυξη στην επιχείρηση ή τον οργανισμό σας.


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

Για να αποφύγετε την αποθήκευση του τρέχοντος βιβλίου εργασίας εάν το συγκεκριμένο κελί είναι κενό στο Excel, μπορείτε να εφαρμόσετε εύκολα την ακόλουθη μακροεντολή VBA.

Βήμα 1: Ανοίξτε το παράθυρο της Microsoft Visual Basic for Applications πατώντας το άλλος + F11 κλειδιά στο μεταξύ.

Βήμα 2: Στην Εξερεύνηση έργου, αναπτύξτε το VBAProject (Το όνομα του βιβλίου εργασίας σας.xlsm) και Αντικείμενα του Microsoft Excelκαι, στη συνέχεια, κάντε διπλό κλικ στο Αυτό το βιβλίο εργασίας. Δείτε το στιγμιότυπο οθόνης αριστερά:

Βήμα 3: Στο άνοιγμα του παραθύρου ThisWorkbook, επικολλήστε την ακόλουθη μακροεντολή VBA:

Μακροεντολή VBA: Αποτρέψτε την αποθήκευση εάν το συγκεκριμένο κελί είναι κενό

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook

xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)

If xWSh Is Nothing Then

  Set xWSh1 = xWShs.Add
  xWSh1.Name = xStrWSH
  xWSh1.Visible = xlSheetVeryHidden
  Cancel = False

Else

  If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then
  Cancel = True
  MsgBox "Save cancelled"
  End If

End If

End Sub
Σημείωση:
1. Στην 26η σειρά του παραπάνω κώδικα VBA, το "Φύλλο 1" είναι το συγκεκριμένο όνομα του φύλλου εργασίας και το "A1είναι το συγκεκριμένο κελί και μπορείτε να τα αλλάξετε όπως χρειάζεστε.
2. Αφού εισαγάγετε το VBA Αυτό το βιβλίο εργασίας, θα πρέπει πρώτα να αποθηκεύσετε το βιβλίο εργασίας. Στη συνέχεια, μπορείτε να στείλετε το αρχείο με δυνατότητα μακροεντολής σε άλλους.

Τώρα, εάν το συγκεκριμένο κελί είναι κενό στο τρέχον βιβλίο εργασίας, όταν το αποθηκεύσετε, βγαίνει ένα παράθυρο διαλόγου προειδοποίησης και σας λέει "Η αποθήκευση ακυρώθηκε". Δείτε το παρακάτω στιγμιότυπο οθόνης:


βέλος μπλε δεξιά φούσκαΣχετικά άρθρα


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

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

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

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

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου
Σχόλια (26)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
γεια - αυτό ήταν εξαιρετικά χρήσιμο... Απλώς είχα μια ερώτηση, πώς μπορώ να αποθηκεύσω το αρχείο χωρίς τιμή σε αυτό το πεδίο; Καθώς προσπαθώ να αποθηκεύσω, ο κώδικας VBA θα εμφανίσει το μήνυμα "Αποθήκευση ακυρώθηκε", το οποίο είναι η προβλεπόμενη απάντηση, ωστόσο, πρέπει να αποθηκευτεί μία φορά χωρίς τιμή για να δημιουργηθεί η φόρμα που θα επαναχρησιμοποιηθεί.

Ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Eduardo,
Τι γίνεται με την πληκτρολόγηση ενός διαστήματος στο καθορισμένο κελί για να προσποιηθείς ένα κενό κελί; Υπενθυμίστε να αφαιρέσετε το χώρο στο μέλλον!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Eduardo, μπόρεσες να λάβεις απάντηση στην ερώτησή σου; Έχω συναντήσει το ίδιο ζήτημα και πληκτρολογώντας σε ένα κενό διάστημα επιτρέπει μόνο την αποθήκευση της φόρμας. Ξέρει κανείς κάποια λύση για αυτό;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου,

Δοκιμάστε τον παρακάτω κώδικα VBA:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook

xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)

If xWSh Is Nothing Then

  Set xWSh1 = xWShs.Add
  xWSh1.Name = xStrWSH
  xWSh1.Visible = xlSheetVeryHidden
  Cancel = False

Else

  If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then

    xFileName = ActiveWorkbook.Name
    xStr = Left(xFileName, InStrRev(xFileName, ".") - 1)
    ActiveWorkbook.SaveCopyAs "C:\Users\Amanda\Desktop\" & Replace(xFileName, xStr, xStr & " - copy")
    Cancel = True
    MsgBox "Save cancelled"

  End If

End If

End Sub

Σημείωση:
1. Αλλάξτε το απόσπασμα Sheet1 και A1 στην 26η σειρά στο πραγματικό όνομα και το κελί του φύλλου.
2. Αλλάξτε το απόσπασμα C:\Users\Amanda\Desktop\ στη 30η σειρά με την πραγματική διαδρομή όπου θέλετε να αποθηκεύσετε το αντίγραφο του αρχείου.
3. Αφού εισαγάγετε το VBA Αυτό το βιβλίο εργασίας, θα πρέπει πρώτα να αποθηκεύσετε το βιβλίο εργασίας. Μετά από αυτό, όταν το αποθηκεύσετε ξανά, το βιβλίο εργασίας θα αντιγραφεί, ώστε να μπορείτε να το στείλετε σε άλλους.

Amanda
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Amanda, δεν λειτούργησε :(. Μου έβγαλε σφάλμα, ίσως κάνω κάτι λάθος. Θέλω μόνο να αποθηκεύσω ένα αντίγραφο της φόρμας (με κενά πεδία) για να ανοίξει και να συμπληρώσει ο χρήστης. Πού Η μακροεντολή τους ζητά και τους εμποδίζει να αποθηκεύσουν το αρχείο εάν είναι κενό. Μπορείτε να ρίξετε μια ματιά;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου,

Δείτε το παραπάνω σχόλιο, έχω ενημερώσει το VBA. Ο κώδικας θα πρέπει να λειτουργεί τέλεια για την περίπτωσή σας.

Amanda
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Λειτουργεί, αλλά τώρα το αρχείο που αντιγράφεται δεν λειτουργεί ως φόρμα. Απλώς ζητά η αποθήκευση ακυρώθηκε. Χρειάζομαι μια ως επί το πλείστον κενή φόρμα που να εμποδίζει τους χρήστες να αποθηκεύουν μέχρι να συμπληρωθούν συγκεκριμένα πεδία. Το τρέχον πρότυπό μου έχει συμπληρωμένα όλα τα πεδία, αλλά χρειάζομαι ένα κενό αρχείο χρήστη. Συγγνώμη που μπορεί να μην εξήγησα σωστά.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, θέλω να ρωτήσω αν είναι από Α2 έως U2. τι να γραψω
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια Wkai,
Δοκιμάστε αυτόν τον κωδικό VBA:
(Αυτός ο κωδικός VBA θα εντοπίσει το εύρος A2:E5 στο φύλλο "Δοκιμή" και θα ακυρώσει την αποθήκευση εάν υπάρχουν κενά κελιά στην περιοχή.)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim xWSName ως συμβολοσειρά
Dim xRgAddress As String
Dim xRg ως εύρος
Dim xWs ως φύλλο εργασίας
Dim xFNRg ως εύρος
xWSName = "TEST"
xRgAddress = "A2:E5"
Ορισμός xWs = Application.ActiveWorkbook.Worksheets.Item(xWSName)
Ορισμός xRg = xWs.Range(xRgAddress)
Ορίστε xFNRg = Τίποτα
On Error Συνέχιση Επόμενη
Ορισμός xFNRg = xRg.SpecialCells(xlCellTypeBlanks, 23)
If Not TypeName(xFNRg.count) = "Nothing" Τότε
Ακύρωση = Αληθινό
MsgBox "Η αποθήκευση ακυρώθηκε"
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, πολύ χρήσιμο. ΑΛΛΑ υπάρχει πρόβλημα όταν το χρησιμοποιώ για αρχεία στο κοινόχρηστο σημείο. Οι αλλαγές δεν αποθηκεύονται αλλά δημιουργείται μια νέα έκδοση που εμφανίζεται κατά το άνοιγμα ξανά, κάτι που προκαλεί σύγχυση. Είναι δυνατόν να απενεργοποιήσετε αυτές τις νέες εκδόσεις;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αυτό είναι πραγματικά υπέροχο. Ξέρετε τι μπορώ να κάνω για να λειτουργήσει αυτό για μια σειρά φύλλων και έναν αριθμό κελιών; Επίσης, αυτά τα κελιά δεν μπορούν να είναι πάντα τα ίδια, καθώς δημιουργούνται φύλλα σε αυτό το συγκεκριμένο βιβλίο εργασίας τα οποία μπορεί να μην έχουν το ίδιο κελί που χρειάζεται να συμπληρώνεται κάθε φορά. Τα κελιά θα βρίσκονται πάντα στην ίδια στήλη, ακριβώς πάνω από το περίγραμμα της σελίδας που δημιουργείται επίσης. Ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχω ένα πολύ μεγάλο υπολογιστικό φύλλο που περιέχει πολλές πληροφορίες.
Μπορεί κάποιος παρακαλώ να με βοηθήσει με έναν κωδικό για να αντιγράψω στο VBA - θέλω να είναι ότι εάν το κελί C2-C1000+ περιέχει πληροφορίες, τότε το κελί O2-O1000+ και το P2-P1000+ απαιτεί είσοδο από τον χρήστη - ωστόσο, εάν ένα κελί στη στήλη C είναι κενό τότε το κελί στη στήλη O & P μπορεί επίσης να είναι κενό. (για παράδειγμα) εάν το κελί C3 δεν έχει είσοδο δεδομένων, τότε το κελί O3-P3 μπορεί να είναι κενό.

Ευχαριστώ :)
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου Yzelle,
Θυμηθείτε να τοποθετήσετε τον παρακάτω κώδικα στο παράθυρο δέσμης ενεργειών "ThisWorkbook" και να μετονομάσετε το όνομα του φύλλου εργασίας "Test" στον παρακάτω κώδικα με βάση την κατάστασή σας.

Dim xIRg ως εύρος
Dim xSRg ως εύρος
Dim xBol ως Boolean
Dim xInt ως ακέραιος αριθμός
Dim xStr ως συμβολοσειρά
Αν ActiveSheet.Name = "Δοκιμή" Τότε
Ορισμός xRg = Εύρος ("C:C")
Ορισμός xRRg = Intersect(xRg.Worksheet.UsedRange, xRg)
xBol = Λάθος
On Error Συνέχιση Επόμενη
Για xInt = 1 έως xRRg.Count
Ορισμός xIRg = xRRg.Item(xInt)
Αν xIRg.Value2 <> "" Τότε
Ορισμός xSRg = Τίποτα
Αν (Range("O" & xIRg.Row) = "") Ή (Range("P" & xIRg.Row) = "") Τότε
xBol = Αληθινό
Έξοδος για
End If
End If
επόμενος
Αν xBol Τότε
Ακύρωση = Αληθινό
MsgBox "Η αποθήκευση ακυρώθηκε"
End If
End If
Sub End
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Με Φύλλα ("Φύλλο1")
If WorksheetFunction.CountA(.Range("A1:A4")) <> WorksheetFunction.CountA(.Range("B1:C4")) / 2 Τότε
Ακύρωση = Αληθινό
MsgBox "Παρακαλώ εισάγετε τιμές στις στήλες B και C", vbCritical, "Error!"
End If
Τέλος με

Sub End

Απλώς αλλάξτε το εύρος από a σε c και από b σε o και ελπίζουμε ότι θα σας βοηθήσει
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Έχετε έναν τρόπο να μπορεί να κωδικοποιηθεί έτσι ώστε είτε το B είτε το C να πρέπει να συμπληρωθούν αλλά δεν απαιτείται να συμπληρωθούν και τα δύο;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Με Φύλλα ("Φύλλο1")
If WorksheetFunction.CountA(.Range("A1:A4")) <> WorksheetFunction.CountA(.Range("B1:C4")) / 2 Τότε
Ακύρωση = Αληθινό
MsgBox "Παρακαλώ εισάγετε τιμές στις στήλες B και C", vbCritical, "Error!"
End If
Τέλος με

Sub End


Απλώς αλλάξτε το εύρος από a σε c και από b σε o και p
ελπίζω ότι θα βοηθήσει
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
καλησπέρα, χρησιμοποίησα τον παραπάνω κωδικό και δούλεψε τέλεια. Η ερώτησή μου είναι πώς θα πρέπει να μοιάζει ο κωδικός αν θέλω να δοκιμάσω σε 2 κελιά; Είμαι αρκετά απελπισμένος. σας ευχαριστώ εκ των προτέρων για τη βοήθειά σας
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
HiI έχω έναν κώδικα VBA που ταξινομεί και φιλτράρει δεδομένα από έναν πίνακα excel και αποθηκεύει 48 διαφορετικές αναφορές στην επιφάνεια εργασίας μου. αλλά με βάση αυτά τα φίλτρα, ορισμένες αναφορές που δημιουργούνται έχουν μόνο 1 σειρά (κεφαλίδες) και καθόλου δεδομένα. Πώς μπορώ να προσθέσω κώδικα VBA στο αρχείο μου που εμποδίζει την αποθήκευση αρχείων που έχουν μόνο μία σειρά (κεφαλίδα) και δεν υπάρχουν δεδομένα; ​​Ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Hi
Έχω έναν κώδικα VBA που ταξινομεί και φιλτράρει δεδομένα από έναν πίνακα excel και αποθηκεύει 48 διαφορετικές αναφορές στην επιφάνεια εργασίας μου. αλλά με βάση αυτά τα φίλτρα, ορισμένες αναφορές που δημιουργούνται έχουν μόνο 1 σειρά (κεφαλίδες) και καθόλου δεδομένα. Πώς μπορώ να προσθέσω κώδικα VBA στο αρχείο μου που εμποδίζει την αποθήκευση αρχείων που έχουν μόνο μία σειρά (κεφαλίδα) και δεν υπάρχουν δεδομένα;
Ευχαριστούμε
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, δοκίμασα τον παραπάνω τύπο που λειτουργεί. Μπορώ να ξέρω αν υπάρχει κάποιος τύπος που μπορεί να αναγκάσει τον χρήστη να συμπληρώσει πριν μπορέσει να αποθηκεύσει; Καθώς ρυθμίζω το αναπτυσσόμενο μενού "Παρακαλώ επιλέξτε", "Ναι" ή "Όχι" για να το επιλέξουν. Αλλά πάντα ξεχνούσαν να επιλέξουν αυτό το πεδίο και παραμένουν "Παρακαλώ επιλέξτε". Εάν προσθέσω αυτόν τον κωδικό VBA, μόνο το κελί εφαρμόζεται κενό. Σας ευχαριστούμε πολύ που μπορείτε να συμβουλεύσετε. Σας ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δοκίμασα τον παραπάνω τύπο που λειτουργεί. Μπορώ να ξέρω αν υπάρχει κάποιος τύπος που μπορεί να αναγκάσει τον χρήστη να συμπληρώσει πριν μπορέσει να αποθηκεύσει; Καθώς ρυθμίζω το αναπτυσσόμενο μενού "Παρακαλώ επιλέξτε", "Ναι" ή "Όχι" για να το επιλέξουν. Αλλά πάντα ξεχνούσαν να επιλέξουν αυτό το πεδίο και παραμένουν "Παρακαλώ επιλέξτε". Εάν προσθέσω αυτόν τον κωδικό VBA, μόνο το κελί εφαρμόζεται κενό. Σας ευχαριστούμε πολύ που μπορείτε να συμβουλεύσετε. Σας ευχαριστώ
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου ευτυχισμένη,
Απλώς αντικαταστήστε την κενή τιμή "Φύλλα ("TEST").Εύρος ("A1").Τιμή = """στο καθορισμένο κείμενο"Φύλλα("TEST").Range("A1").Value = "Please Select"«Και ολόκληρος ο κωδικός θα αλλάξει ως εξής:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Αν Application.Sheets("TEST").Range("A1").Value = "Please select" Στη συνέχεια
Ακύρωση = Αληθινό
MsgBox "Η αποθήκευση ακυρώθηκε"
End If
Sub End

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

Για παράδειγμα, το φύλλο σας ονομάζεται "Φύλλο1" και το καθορισμένο κελί είναι Β2, πρέπει να αλλάξετε το όνομα φύλλου και τη διεύθυνση κελιού στον κώδικα VBA πριν το εκτελέσετε
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σας,
io avrei bisogno di impostare una macro simile a quella di Eduardo. Πιο συγκεκριμένα, ο λόγος που πρέπει να γίνει:
«- prima tabella A18:P28
«- seconda tabella A33:P41.
Vorrei impedire che l'utente salvi il file se ha compilato la cella A18 e le altre attigue (B18:P18) le ha lasciate vuote oppure se ha compilato la cella A33 e ha lasciato vuole le attigue (B33:P33). In questo caso, come dovrei impostare la macro; Grazie in anticipo a chi risponderà!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου,

Εννοείτε ότι θέλετε να αποτρέψετε την αποθήκευση του αρχείου εάν το A18 είναι γεμάτο ενώ το B18: P18 είναι κενό; Θέλετε επίσης να αποτρέψετε την αποθήκευση εάν το A33 είναι γεμάτο ενώ το B33: P33 είναι κενό;
Θέλετε να αποτρέψετε την αποθήκευση όταν πληρούνται και τα δύο κριτήρια ή όταν πληρούνται κάποιο από τα κριτήρια;
Επίσης, χρησιμοποιήστε αγγλικά. Ευχαριστώ εκ των προτέρων.

Amanda
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες