Πώς να εισάγετε δεδομένα από το Excel σε μια βάση δεδομένων της Access;
Μάθετε πώς να αποκτάτε δεδομένα του Excel σε έναν νέο ή υπάρχοντα πίνακα της Access.
Η χρήση φορμών στο VBA σάς δίνει έναν κενό καμβά για να σχεδιάσετε και να τακτοποιήσετε φόρμες ανάλογα με τις ανάγκες σας ανά πάσα στιγμή. Ας μάθουμε με το Download.vn πώς να δημιουργείτε φόρμες αυτόματης εισαγωγής δεδομένων στο Excel VBA !
Δημιουργήστε μια φόρμα χρήστη χρησιμοποιώντας το Excel VBA
Ανοίξτε ένα νέο βιβλίο εργασίας του Excel και εκτελέστε μερικά προκαταρκτικά βήματα πριν ξεκινήσετε τη δημιουργία της φόρμας εισαγωγής δεδομένων.
Αποθηκεύστε το βιβλίο εργασίας με το επιθυμητό όνομα, μην ξεχάσετε να αλλάξετε τον τύπο αρχείου σε Βιβλίο εργασίας με δυνατότητα Macro-Enabled του Excel.
Προσθέστε 2 φύλλα σε αυτό το βιβλίο εργασίας με τα ακόλουθα ονόματα:
Φυσικά, μπορείτε να αλλάξετε τα ονόματά τους όπως θέλετε.
Στο Αρχικό φύλλο , προσθέστε ένα κουμπί ελέγχου μακροεντολής φόρμας χρήστη. Μεταβείτε στην καρτέλα Προγραμματιστής > κάντε κλικ στο Κουμπί από την αναπτυσσόμενη λίστα Εισαγωγή . Τοποθετήστε αυτό το κουμπί οπουδήποτε στο υπολογιστικό φύλλο.
Αφού τοποθετήσετε το κουμπί, μετονομάστε το. Κάντε δεξί κλικ πάνω του > κάντε κλικ στο Νέο για να επισυνάψετε μια μακροεντολή που εμφανίζει τη φόρμα.
Εισαγάγετε τον ακόλουθο κωδικό στο παράθυρο του προγράμματος επεξεργασίας:
Sub Button1_Click()
UserForm.Show
End Sub
Έχοντας έτοιμο το φύλλο αρχικής σελίδας και τη βάση δεδομένων μαθητών , ήρθε η ώρα να σχεδιάσετε τη φόρμα χρήστη. Μεταβείτε στην καρτέλα Προγραμματιστής > κάντε κλικ στην Visual Basic για να ανοίξετε το πρόγραμμα επεξεργασίας . Εναλλακτικά, μπορείτε να πατήσετε ALT+F11 για να ανοίξετε το παράθυρο του προγράμματος επεξεργασίας.
Κάντε κλικ στην καρτέλα Εισαγωγή και επιλέξτε UserForm . Μια φόρμα χρήστη είναι έτοιμη για χρήση. Μια συνοδευτική εργαλειοθήκη ανοίγει με αυτήν τη φόρμα, που περιέχει όλα τα εργαλεία που απαιτούνται για τη σχεδίαση της διάταξης.
Από αυτήν την εργαλειοθήκη, επιλέξτε Πλαίσιο . Σύρετε το στη φόρμα χρήστη και αλλάξτε το μέγεθός του.
Στο (όνομα) , μπορείτε να αλλάξετε το όνομα αυτού του πλαισίου. Για να εμφανίσετε το όνομα στη διεπαφή, μπορείτε να αλλάξετε το όνομα στη στήλη Λεζάντα .
Στη συνέχεια, επιλέξτε Ετικέτα από την εργαλειοθήκη και εισαγάγετε 2 αυτοκόλλητα σε αυτό το πλαίσιο. Μετονομάστε το πρώτο όνομα σε Αριθμός αίτησης και το δεύτερο όνομα σε αναγνωριστικό μαθητή .
Εφαρμόστε την ίδια διαδικασία μετονομασίας μέσω Λεζάντα στις ιδιότητες . Βεβαιωθείτε ότι έχετε επιλέξει την αντίστοιχη ετικέτα πριν τη μετονομάσετε.
Στη συνέχεια, εισαγάγετε 2 πλαίσια κειμένου στο πλαίσιο αυτοκόλλητων. Θα χρησιμοποιηθούν για την καταγραφή των εισροών των χρηστών. Αλλάξτε τα ονόματα των 2 πλαισίων κειμένου μέσω της στήλης (Όνομα) στις Ιδιότητες ως εξής:
Σχεδιασμός πλαισίου ενημέρωσης μαθητών
Εισαγάγετε ένα κατακόρυφο πλαίσιο και προσθέστε 10 ετικέτες και 10 πλαίσια κειμένου. Μετονομάστε την ετικέτα ως εξής:
Εισαγάγετε το αντίστοιχο πλαίσιο κειμένου δίπλα σε αυτές τις ετικέτες, εισάγοντας από δύο πλαίσια κουμπιών επιλογής από την εργαλειοθήκη userform δίπλα στην ετικέτα φύλου. Αλλάξτε τα ονόματά τους σε Άνδρας και Γυναίκα (με Προσαρμογή) αντίστοιχα.
Σχεδιάστε αναλυτικό πλαίσιο μαθημάτων
Προσθέστε ένα άλλο πλαίσιο κάθετα και εισαγάγετε 6 αυτοκόλλητα, 6 πλαίσια κειμένου που αντιστοιχούν σε κάθε ετικέτα. Μετονομάστε το αυτοκόλλητο ως εξής:
Σχεδιασμός πλαισίου λεπτομερειών πληρωμής
Εισαγάγετε ένα νέο πλαίσιο, προσθέστε μια νέα ετικέτα και μετονομάστε το σε "Θέλετε να ενημερώσετε τα στοιχεία πληρωμής;" Εισαγάγετε 2 κουμπιά επιλογής ; μετονομάστε τους σε Ναι και Όχι .
Ομοίως, προσθέστε ένα νέο πλαίσιο που περιέχει 2 επιπλέον ετικέτες και 2 σύνθετα πλαίσια. Μετονομάστε την ετικέτα ως εξής:
Σχεδιασμός πλακέτας πλοήγησης
Στο τελευταίο πλαίσιο, προσθέστε 3 κουμπιά από την εργαλειοθήκη, που περιέχουν κώδικα για την ανάπτυξη των φορμών. Μετονομάστε τα κουμπιά ως εξής:
Γράψτε αυτόματο κωδικό φόρμας: Κουμπί για αποθήκευση πληροφοριών
Κάντε διπλό κλικ στο κουμπί Αποθήκευση λεπτομερειών . Στην επόμενη ενότητα, εισαγάγετε τον ακόλουθο κώδικα:
Private Sub CommandButton2_Click()
‘declare the variables used throughout the codes
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Long
'Add validations to check if character values are being entered in numeric fields.
If VBA.IsNumeric(txtApplicationNo.Value) = False Then
MsgBox "Only numeric values are accepted in the Application Number", vbCritical
Exit Sub
End If
If VBA.IsNumeric(txtStudentID.Value) = False Then
MsgBox "Only numeric values are accepted in the Student ID", vbCritical
Exit Sub
End If
If VBA.IsNumeric(txtAge.Value) = False Then
MsgBox "Only numeric values are accepted in Age", vbCritical
Exit Sub
End If
If VBA.IsNumeric(txtPhone.Value) = False Then
MsgBox "Only numeric values are accepted in Phone Number", vbCritical
Exit Sub
End If
If VBA.IsNumeric(Me.txtCourseID.Value) = False Then
MsgBox "Only numeric values are accepted in Course ID", vbCritical
Exit Sub
End If
'link the text box fields with the underlying sheets to create a rolling database
Set sht = ThisWorkbook.Sheets("Student Database")
'calculate last populated row in both sheets
lastrow = sht.Range("a" & Rows.Count).End(xlUp).Row + 1
'paste the values of each textbox into their respective sheet cells
With sht
.Range("a" & lastrow).Value = txtApplicationNo.Value
.Range("b" & lastrow).Value = txtStudentID.Value
.Range("c" & lastrow).Value = txtName.Value
.Range("d" & lastrow).Value = txtAge.Value
.Range("e" & lastrow).Value = txtDOB.Value
.Range("g" & lastrow).Value = txtAddress.Value
.Range("h" & lastrow).Value = txtPhone.Value
.Range("i" & lastrow).Value = txtCity.Value
.Range("j" & lastrow).Value = txtCountry.Value
.Range("k" & lastrow).Value = txtZip.Value
.Range("l" & lastrow).Value = txtNationality.Value
.Range("m" & lastrow).Value = txtCourse.Value
.Range("n" & lastrow).Value = txtCourseID.Value
.Range("o" & lastrow).Value = txtenrollmentstart.Value
.Range("p" & lastrow).Value = txtenrollmentend.Value
.Range("q" & lastrow).Value = txtcourseduration.Value
.Range("r" & lastrow).Value = txtDept.Value
End With
sht.Activate
'determine gender as per user's input
If optMale.Value = True Then sht.Range("g" & lastrow).Value = "Male"
If optFemale.Value = True Then sht.Range("g" & lastrow).Value = "Female"
'Display a message box, in case the user selects the Yes radio button
If optYes.Value = True Then
MsgBox "Please select the payment details below"
Else:
Exit Sub
End If
End Sub
Επεξήγηση του κώδικα στην αυτοματοποιημένη μορφή:
Τα πλαίσια κειμένου περιλαμβάνουν τιμές κειμένου και αριθμητικές τιμές, επομένως πρέπει να περιορίσετε την εισαγωγή του χρήστη. Ο αριθμός αίτησης, το αναγνωριστικό φοιτητή, η ηλικία, το τηλέφωνο, το αναγνωριστικό μαθήματος και η διάρκεια του μαθήματος θα περιέχουν μόνο αριθμούς, ενώ τα υπόλοιπα θα περιέχουν κείμενο.
Χρησιμοποιώντας την εντολή IF , ο κωδικός ενεργοποιεί ένα αναδυόμενο παράθυρο σφάλματος εάν ο χρήστης εισαγάγει έναν χαρακτήρα ή μια τιμή κειμένου σε οποιοδήποτε αριθμητικό πεδίο.
Επειδή υπάρχει επικύρωση σφάλματος, πρέπει να συνδέσετε τα πλαίσια κειμένου με τα κελιά του φύλλου εργασίας.
Οι μεταβλητές της τελευταίας σειράς υπολογίζουν την τελευταία συμπληρωμένη σειρά και αποθηκεύουν την τιμή μέσα για ευέλικτη χρήση.
Τέλος, αυτές οι τιμές επικολλούνται στο πλαίσιο κειμένου στο συνδεδεμένο φύλλο Excel.
Κωδικοποιήστε τη φόρμα διαγραφής και το κουμπί εξόδου
Στο κουμπί διαγραφής , πρέπει να γράψετε κώδικα που διαγράφει τις τρέχουσες τιμές από τη φόρμα του χρήστη ως εξής:
With Me
.txtApplicationNo.Value = ""
.txtStudentID.Value = ""
..txtName.Value = ""
.txtAge.Value = ""
.txtAddress.Value = ""
.txtPhone.Value = ""
.txtCity.Value = ""
.txtCountry.Value = ""
.txtDOB.Value = ""
.txtZip.Value = ""
.txtNationality.Value = ""
.txtCourse.Value = ""
.txtCourseID.Value = ""
.txtenrollmentstart.Value = ""
.txtenrollmentend.Value = ""
.txtcourseduration.Value = ""
.txtDept.Value = ""
.cmbPaymentMode.Value = ""
.cmbPayment.Value = ""
.optFemale.Value = False
.optMale.Value = False
.optYes.Value = False
.optNo.Value = False
End With
Στο κουμπί εξόδου , εισαγάγετε τον ακόλουθο κωδικό στη φόρμα χρήστη:
Private Sub CommandButton5_Click()
Unload Me
End Sub
Στο τελικό βήμα, πρέπει να εισαγάγετε τα τελευταία κομμάτια κώδικα για να δημιουργήσετε τις αναπτυσσόμενες τιμές για το σύνθετο πλαίσιο (στο πλαίσιο αγοράς).
Private Sub UserForm_Activate()
With cmbPayment
.Clear
.AddItem ""
.AddItem "Yes"
.AddItem "No"
End With
With cmbPaymentMode
.Clear
.AddItem ""
.AddItem "Cash"
.AddItem "Card"
.AddItem "Check"
End With
End Sub
Παρακάτω περιγράφεται ο τρόπος δημιουργίας μιας φόρμας αυτόματης εισαγωγής δεδομένων στο Excel VBA . Ελπίζω το άρθρο να είναι χρήσιμο για εσάς.
Μάθετε πώς να αποκτάτε δεδομένα του Excel σε έναν νέο ή υπάρχοντα πίνακα της Access.
Μάθετε πώς να εξάγετε εύκολα δεδομένα πίνακα Access σε Excel, TXT, XML κ.λπ
Μάθετε πώς να καταγράφετε, να γράφετε και να εισάγετε βασικές μακροεντολές VBA σε βιβλία εργασίας του Excel και να αυτοματοποιείτε τις εργασίες σας.
Μάθετε πώς να ανοίξετε παλιά αρχεία Excel με το Excel 365 (2016/2019) με δεδομένα και βήματα για να ξεπεράσετε τα προβλήματα συμβατότητας.
Το Office 365 δεν εμφανίζεται ως προεπιλεγμένη εφαρμογή για έγγραφα και υπολογιστικά φύλλα; Μάθετε πώς να το ορίσετε για το Word και το Excel 2019 και 2016.
Οδηγίες για τη χρήση της συνάρτησης ABS για τον υπολογισμό της απόλυτης τιμής στο Excel Η συνάρτηση ABS χρησιμοποιείται για τον υπολογισμό της απόλυτης τιμής ενός αριθμού ή ενός υπολογισμού. Η χρήση της λειτουργίας ABS είναι αρκετά απλή
Οδηγίες για τη σύνταξη του ανώτερου και του κατώτερου ευρετηρίου στο Excel. Συχνά πρέπει να επεξεργαστείτε μαθηματικούς τύπους στο Excel, αλλά αντιμετωπίζετε δυσκολίες με τις εκφράσεις.
Πώς να αριθμήσετε σελίδες χωρίς να ξεκινήσετε από το 1 στο Excel. Η αρίθμηση σελίδων στο Excel είναι αρκετά απλή, αλλά η αρίθμηση σελίδων που ξεκινούν από έναν αριθμό διαφορετικό από το 1 είναι δύσκολη.
Οδηγίες για επανειλημμένη εκτύπωση τίτλων στο Excel Για πίνακες Excel με πολλές εκτυπωμένες σελίδες, οι άνθρωποι συχνά ρυθμίζουν την επαναλαμβανόμενη εκτύπωση τίτλων για να αποφύγουν τη σύγχυση με το υπολογιστικό φύλλο.
Πώς να χρησιμοποιήσετε τις συναρτήσεις μέτρησης Count, Counta, Countif, Countifs στο Excel Οι συναρτήσεις μέτρησης στο Excel χωρίζονται σε πολλούς τύπους, οι περισσότερες από αυτές τις συναρτήσεις είναι πολύ εύχρηστες για μέτρηση.