Mã hóa VBA cho biểu mẫu người dùng Excel
Tôi có biểu mẫu người dùng và không chắc cách viết mã cho hai trường hợp.
1. Nếu một ngày được nhập trong biểu mẫu người dùng là "12062019", làm cách nào để nhập định dạng sao cho ngày đó xuất hiện là "12/06/2019" trên bảng tính liên quan sau khi nhấp vào lưu?
2. Biểu mẫu người dùng được mã hóa để xóa tất cả các mục nhập/đặt lại, bằng cách nhấp vào lệnh Xóa, sau khi lưu dữ liệu vào bảng tính nói trên. Mọi thứ đều bị xóa ngoại trừ một hộp danh sách trong biểu mẫu. Hộp danh sách được sử dụng để có thể thực hiện nhiều lựa chọn từ các lựa chọn.
giúp đỡ của bạn được đánh giá rất cao.
Cảm ơn.
Stuart
Trả lời:
Bạn có thể thử với mã này không?
1. TextBox12.Text = Format(TextBox12.Text, "dd-mm-yyyy")
2. Gọi UserForm_Initialize
hoặc
Phụ riêng YourCommandButtonName_Click()
Dim varItm dưới dạng biến thể
Với YourListBoxName
Đối với mỗi varItm trong .ItemsSelected
.Selected(varItm) = Sai
varItm tiếp theo
Kết thúc với
kết thúc phụ
Trả lời:
Bạn có thể sử dụng mã này để xóa hộp danh sách nhiều lựa chọn.
Sub SelectMultipleItems_ListBix()
'Để chọn nhiều mục trong ListBox
Với Sheet1
.ListBox1.MultiSelect = fmMultiSelectMulti
.ListBox2.MultiSelect = fmMultiSelectMulti
Kết thúc với
kết thúc phụ
Trả lời:
Cảm ơn bạn rất nhiều vì đã phản hồi nhanh chóng và tôi có thêm hai câu hỏi.
1. Tôi có nên bao gồm mã bên dưới mã được sử dụng để xóa các trường khác khi nhấp vào "Xóa" không?
2. Hộp danh sách của tôi có tên là lbxMedications. Tôi có nên thay thế tất cả các mục bạn có dưới dạng Hộp danh sách bằng tên của tôi không và tôi có cần bao gồm .text sau "lbxMedications không?
Cám ơn bạn một lần nữa.
Trả lời:
Cảm ơn bạn đã phản hồi nhanh chóng và tôi có thêm câu hỏi.
1. Hộp văn bản cho ngày được đặt tên là txtDOB. Mã định dạng của bạn nên được đặt ở cuối mã dành cho "Lưu" hay ở một khu vực riêng để mã hóa hộp văn bản đó?
2. Mã trả về ngày "31/12/1899" chứ không phải ngày tôi đã nhập trong biểu mẫu. Tôi có thể thay đổi định dạng thành "mm/dd/yyyy".
3. Ngoài ra, mã cho hộp danh sách (có tên lbxMedications) không bị xóa và mã này có còn ở cuối nút lệnh "Xóa" không?
Cám ơn bạn một lần nữa.
Stuart
Trả lời:
Bạn có thể gửi mã VBA của mình nếu nó không nhạy cảm hoặc bí mật không?
Cảm ơn.
Trả lời:
Tôi đã sao chép mã cho nút lệnh Clear. Xin vui lòng cho tôi biết nếu bạn cần bất cứ điều gì khác.
Cám ơn bạn một lần nữa.
Stuart
Phụ đề riêng tư cmdClear_Click()
txtPatientID.Text = " "
txtFirstName.Text = " "
txtLastName.Text = " "
cboGender.Text = " "
txtDOB.Text = " "
txtAddress1.Text = " "
txtAddress2.Text = " "
txtCity.Text = " "
cboState.Text = " "
txtZipCode.Text = " "
cboCountry.Text = " "
txtPatientEmail.Text = " "
cboProgramOptIn.Text = " "
txtPatientHome.Text = " "
txtPatientMobile.Text = " "
cboContactMethod.Text = " "
txtSSN.Văn bản = " "
txtPCCID.Văn bản = " "
txtHeight.Text = " "
txtWeight.Text = " "
cboDrugAllergy1.Text = " "
cboDrugAllergy2.Text = " "
cboICD10Description.Text = " "
cboClinic.Text = " "
txtPhysician.Text = " "
cboTherapeuticCategory.Text = " "
lbxMedications.Text = " "
txtMedsRxNumbers.Text = " "
txtMedsStartDates.Text = " "
cboInsuranceType.Text = " "
cboInsuranceName.Text = " "
cboREMS.Text = " "
cboPBM.Text = " "
txtPBMIDNumber.Text = " "
txtPBMGroup.Text = " "
txtBIN.Văn bản = " "
txtPCN.Văn bản = " "
txtMedPlanName.Text = " "
txtPlanID.Text = " "
txtMedicalGroup.Text = " "
txtPlan.Text = " "
cboPAReq.Text = " "
cboPAStatus.Text = " "
txtPAExpDate.Text = " "
cboAssistanceProgramType.Text = " "
cboAssistanceProgramName.Text = " "
cboPharmacyName.Text = " "
cboOutsourcedReason.Text = " "
cboRxDistribution.Text = " "
txtRefillMed1Due.Text = " "
txtRefillMed2Due.Text = " "
txtRefillMed3Due.Text = " "
txtDateRefillMed1Sent.Text = " "
txtDateRefillMed2Sent.Text = " "
txtDateRefillMed3Sent.Text = " "
cboAdverseEvents.Text = " "
txtDatePatientCalled.Text = " "
cboProviderFollowUp.Text = " "
txtDateProviderCalled.Text = " "
txtPatientComplaint.Text = " "
txtEmergencyContactFirst.Text = " "
txtEmergencyContactLast.Text = " "
txtEmergencyContactPhone.Text = " "
cboEmergencyContactRelationship.Text = " "
txtPatientSurvey.Text = " "
txtDueDateNewActivities.Text = " "
Trả lời:
Bạn có thể đơn giản hóa thay vì xóa từng hộp văn bản:
Phụ đề riêng tư cmdClear_Click()
Làm mờ ctl
Đối với mỗi ctl trong tôi.Controls
Nếu TypeOf ctl Là msforms.TextBox Thì
ctl.Text = ""
kết thúc nếu
ctl tiếp theo
kết thúc phụ
Trả lời:
Điều này đã làm việc và cảm ơn bạn.
Comments
Post a Comment