Hỏi về sự kiện Initialize trong UserForm

Liên hệ QC

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
350
Được thích
28
Chào các bạn, mình làm một UserForm để nhập dữ liệu, nhưng không hiểu sao mình viết code cho sự kiện Initialize trong UserForm lại không chạy và cũng không báo lỗi. Đoạn code đó như sau:
Mã:
Private Sub UserForm_Initialize()
    With uf_Nhaplieu
    .txtTimenguon.Text = ThisWorkbook.Worksheets("Data").Range("C1").Value
    .txtTimedich.Text = ThisWorkbook.Worksheets("Data").Range("E1").Value
    .MultiPage1.Pages(1).Visible = False
    .MultiPage1.Pages(2).Visible = False
    .MultiPage1.Pages(3).Visible = False
    .MultiPage1.Pages(4).Visible = False
    .MultiPage1.Pages(5).Visible = False
    .MultiPage1.Pages(6).Visible = False
    .MultiPage1.Pages(7).Visible = False
    .MultiPage1.Pages(8).Visible = False
    .MultiPage1.Pages(9).Visible = False
    .MultiPage1.Pages(10).Visible = False
    .MultiPage1.Pages(11).Visible = False
    .MultiPage1.Pages(12).Visible = False
    .MultiPage1.Pages(13).Visible = False
    .MultiPage1.Pages(14).Visible = False
    .MultiPage1.Pages(15).Visible = False
    .MultiPage1.Pages(16).Visible = False
    .MultiPage1.Pages(17).Visible = False
End With

Call MinMax(uf_Nhaplieu.Caption)
Size_ListBox
Set sHcq = Nothing
End Sub
Các Page trong MultiPage1 khi load Form không ẩn đi như đoạn code mình viết. mình gửi theo file đính kèm, nút chạy code mình để ở Sheets("Data"). Mong các bạn giúp đỡ.
 

File đính kèm

  • TK2020.rar
    591.3 KB · Đọc: 35
Bạn tạo 1 Form mới rồi Coppy các control qua sẽ được
copy qua form mới thì 100 controls cũng vẫn 100 controls, cũng là vượt số, mèo lại hoàn mèo
Chưa nói 1 rừng code chả lẽ ngồi viết lại? Copy qua cũng phải sửa cả rừng vì tên control cũng bị đổi, tên parent (form) cũng đổi
 
Upvote 0
Không có tài liệu nào nói về vụ giới hạn số lượng controls này các bạn nhỉ. Thiết kế gần xong rồi giờ làm lại nản quá
Nếu là tôi thì tôi sẽ nhân dịp này thiết kế lại. Coi như "nó" bắt mình phải sửa, "nó" cho mình động lực để làm tốt hơn.

Nếu bạn cố tình tiếc cái mớ hỗn độn này thì cũng có cách để bắt nó chạy.

Bạn thử kiểm tra như tôi làm.

Tôi chọn Page "Bieu 1". Tôi thấy nút "Đóng". Tôi cho là nó không quan trọng lắm, vì ít nhất có thể đóng Form bằng cách khác. Vậy tôi thử bỏ nút "Đóng". Kiểm tra lại tôi thấy mình may mắn vì đã có UserForm. Và như vậy dĩ nhiên là UserForm_Initialize chạy và các Page được ẩn.

Bây giờ thì dễ rồi. Tôi kiểm tra thấy trên 17 Page từ "Bieu 1" tới "Bieu 17" có 17 nút "Đóng" được gán cho 17 sub cmdDongXYZ_Click, với XYZ = 1, 2, ..., 17. Này anh bạn, không ai làm như thế cả. Hãy bỏ 17 nút cmdDongXYZ và 1 nút trên page "Chung", và thêm 1 nút duy nhất cmdDong ngoài MutiPage1 (đặt trên Form). Xóa toàn bộ 18 cmdDongXYZ_Click với code Unload Me, DongTrang 1, DongTrang 2, ..., DongTrang 17. Chỉ có 1 code duy nhất cho cmdDong là
Mã:
Private Sub cmdDong_Click()
    If MultiPage1.Value = 0 Then
        Unload Me
    Else
        DongTrang MultiPage1.Value
    End If
End Sub

Nhiều nút khác cũng có thể bỏ chỉ để 1 nút ngoài MultiPage1. Tôi tin rằng nhiều code cũng có thể gộp và rút gọn.

Vài lời khuyên thế thôi chứ tôi không đủ kiên nhẫn để dò những bất hợp lý cho bạn.
 
Upvote 0
Không có tài liệu nào nói về vụ giới hạn số lượng controls này các bạn nhỉ. Thiết kế gần xong rồi giờ làm lại nản quá

Thiết kế sai hết thì làm lại thôi chứ để sau này càng bế tắc.
Như bác ptm0412 đã đề cập, bạn lạm dụng checkbox một cách thái quá. Có rất nhiều hạng mục đúng bài phải dùng Combobox, bạn lại dàn trải thành checkbox rườm rà cái form, bên cạnh đó nó không có khả năng cập nhật nếu sau này có thêm các mục mới.
Nếu bạn phân tích kỹ, dùng các control một cách hợp lý thì 2 3 Tab của bạn cũng có thể gộp thành 1 Tab.
Một vấn đề nữa là chẳng có ai thiết kế 1 cái Form ôm đồm tất cả các form nhập liệu của ứng dụng vô làm một. Chẳng hiểu quả về mặt tiện sử dụng đối với người dùng cũng như đối với code, với hiệu suất hoạt động Form. Nhập liệu tới đâu thì tải dữ liệu lên Form tới đó, xong đóng lại, giải phóng bộ nhớ, tiếp tục tải dữ liệu khác và làm như vậy.
Trước đây tôi cũng có làm cái ứng dụng quản lý đối tượng Đảng nên cũng hiểu chút sự phức tạp của dữ liệu mà bạn đang làm nhưng nhìn qua là biết bạn thiết kế Form không hiệu quả rồi. Nên tổ chức thành từng nhóm các chức năng và có Form riêng cho từng tác vụ thì form sẽ nhẹ nhàng, gọn gàng hơn.

(PS: nói chung làm cái màu nền là sai qui tắc thiết kế rồi (đã cố tìm cái tông màu đỏ ít gây "ngứa con mắt bên phải, đỏ con mắt bên trái" rồi đó) nhưng vì là đặc thù yêu cầu nên phải làm vậy :cool: )
ZldsRVb.png
 
Lần chỉnh sửa cuối:
Upvote 0
CSDL bạn đang xây dựng hình như chưa ổn lắm, khoan hẵn nói về Controls mà nên thiết kế lại các trang tính thì hơn.

Thậm chí tên trang tính cũng cần xem để rút gọn hơn, như
B01. . . B35
TB01. . . TB35

Danh sách đảng viên nhất thiết phải có mã (duy nhất)
Về mã Đảng viên trước đây thầy có hướng dẫn em làm và giờ em cũng vẫn đang làm theo code thầy hướng dẫn ạ. Tên trang tính em sẽ rút gọn lại. Cảm ơn thầy đã góp ý
Bài đã được tự động gộp:

Thiết kế sai hết thì làm lại thôi chứ để sau này càng bế tắc.
Như bác ptm0412 đã đề cập, bạn lạm dụng checkbox một cách thái quá. Có rất nhiều hạng mục đúng bài phải dùng Combobox, bạn lại dàn trải thành checkbox rườm rà cái form, bên cạnh đó nó không có khả năng cập nhật nếu sau này có thêm các mục mới.
Nếu bạn phân tích kỹ, dùng các control một cách hợp lý thì 2 3 Tab của bạn cũng có thể gộp thành 1 Tab.
Một vấn đề nữa là chẳng có ai thiết kế 1 cái Form ôm đồm tất cả các form nhập liệu của ứng dụng vô làm một. Chẳng hiểu quả về mặt tiện sử dụng đối với người dùng cũng như đối với code, với hiệu suất hoạt động Form. Nhập liệu tới đâu thì tải dữ liệu lên Form tới đó, xong đóng lại, giải phóng bộ nhớ, tiếp tục tải dữ liệu khác và làm như vậy.
Trước đây tôi cũng có làm cái ứng dụng quản lý đối tượng Đảng nên cũng hiểu chút sự phức tạp của dữ liệu mà bạn đang làm nhưng nhìn qua là biết bạn thiết kế Form không hiệu quả rồi. Nên tổ chức thành từng nhóm các chức năng và có Form riêng cho từng tác vụ thì form sẽ nhẹ nhàng, gọn gàng hơn.

(PS: nói chung làm cái màu nền là sai qui tắc thiết kế rồi (đã cố tìm cái tông màu đỏ ít gây "ngứa con mắt bên phải, đỏ con mắt bên trái" rồi đó) nhưng vì là đặc thù yêu cầu nên phải làm vậy :cool: )
ZldsRVb.png
Cảm ơn bạn đã góp ý, vụ các check box do yêu cầu bắt buộc phải chọn nhiều nội dung nên mình mới phải sử dụng các checkbox. Nhưng nói chung qua sự góp ý từ các bạn mình xin được tiếp thu và xem xét chỉnh sửa lại toàn bộ. Mong các bạn tiếp tục góp ý để mình hoàn thiện và nâng hiệu quả chạy code. Cái giao diện chương trình quản lý đẹp quá, bạn thiết kế bằng cozen hay photoshop vậy.
Bài đã được tự động gộp:

Nếu là tôi thì tôi sẽ nhân dịp này thiết kế lại. Coi như "nó" bắt mình phải sửa, "nó" cho mình động lực để làm tốt hơn.

Nếu bạn cố tình tiếc cái mớ hỗn độn này thì cũng có cách để bắt nó chạy.

Bạn thử kiểm tra như tôi làm.

Tôi chọn Page "Bieu 1". Tôi thấy nút "Đóng". Tôi cho là nó không quan trọng lắm, vì ít nhất có thể đóng Form bằng cách khác. Vậy tôi thử bỏ nút "Đóng". Kiểm tra lại tôi thấy mình may mắn vì đã có UserForm. Và như vậy dĩ nhiên là UserForm_Initialize chạy và các Page được ẩn.

Bây giờ thì dễ rồi. Tôi kiểm tra thấy trên 17 Page từ "Bieu 1" tới "Bieu 17" có 17 nút "Đóng" được gán cho 17 sub cmdDongXYZ_Click, với XYZ = 1, 2, ..., 17. Này anh bạn, không ai làm như thế cả. Hãy bỏ 17 nút cmdDongXYZ và 1 nút trên page "Chung", và thêm 1 nút duy nhất cmdDong ngoài MutiPage1 (đặt trên Form). Xóa toàn bộ 18 cmdDongXYZ_Click với code Unload Me, DongTrang 1, DongTrang 2, ..., DongTrang 17. Chỉ có 1 code duy nhất cho cmdDong là
Mã:
Private Sub cmdDong_Click()
    If MultiPage1.Value = 0 Then
        Unload Me
    Else
        DongTrang MultiPage1.Value
    End If
End Sub

Nhiều nút khác cũng có thể bỏ chỉ để 1 nút ngoài MultiPage1. Tôi tin rằng nhiều code cũng có thể gộp và rút gọn.

Vài lời khuyên thế thôi chứ tôi không đủ kiên nhẫn để dò những bất hợp lý cho bạn.
Cảm ơn thầy đã góp ý, em xin được tiếp thu
 
Lần chỉnh sửa cuối:
Upvote 0
Nhưng sửa như tôi nói (tạm bợ) thì ở máy bạn đã "chạy" bình thường chưa?
Hiện tại em chưa sửa được, vì em ko có máy tính.
Bài đã được tự động gộp:

copy qua form mới thì 100 controls cũng vẫn 100 controls, cũng là vượt số, mèo lại hoàn mèo
Chưa nói 1 rừng code chả lẽ ngồi viết lại? Copy qua cũng phải sửa cả rừng vì tên control cũng bị đổi, tên parent (form) cũng đổi
Có lẽ em sẽ tách riêng từng userform cho mỗi page như bạn ongke0711 đã góp ý. Nhưng em rất tò mò số lượng controls trên userform cho từng phiên bản excel giới hạn tối đa là bao nhiêu nhỉ ?. Tìm trên web ko thấy có câu trả lời?
 
Lần chỉnh sửa cuối:
Upvote 0
Khoan nói về Form, nếu bạn chịu mô tả kỹ lại công việc của bạn từ sơ khai nhất, mình hay những bạn khác trên cộng đồng sẽ thiết kế cho bạn các trang tính cần thiết & tối giản.

Có nghĩa là mọi người sẽ được bạn giúp đỡ để thiết kế lại các trang tính cho bạn (nếu được) & những phần việc tiếp theo . . . .
 
Lần chỉnh sửa cuối:
Upvote 0
Khoan nói về Form, nếu bạn chịu mô tả kỹ lại công việc của bạn từ sơ khai nhất, mình hay những bạn khác trên cộng đồng sẽ thiết kế cho bạn các trang tính cần thiết & tối giản.

Có nghĩa là mọi người sẽ được bạn giúp đỡ để thiết kế lại các trang tính cho bạn (nếu được) & những phần việc tiếp theo . . . .
Em cảm ơn thầy, nếu được như vậy thì còn gì tuyệt vời hơn. Trong file đính kèm ở đầu topic là toàn bộ dữ liệu của em đang làm. Mục đích của em là tạo ra một userform nhập dữ liệu để thực hiện việc thống kê, in ấn, xuất báo cáo (trích xuất dữ liệu theo yêu cầu của thủ trưởng, ví dụ như: xã A từ năm 2020 đến năm 2024 đã thực hiện được bao nhiêu cuộc kiểm tra, hoặc Đảng ủy A từ tháng 27/8/2020 đến Ngày 15/7/2022 đã thi hành kỷ luật đối với bao nhiêu Đảng viên,....) và quản lý dữ liệu Đảng viên theo nhiều năm, cập Nhật dữ liệu từ cơ sở gửi về.
trong file đính kèm ở đầu topic cơ bản có hai loại sheet. Sheet có tên B1 đến B17 đó là mẫu biểu do trung ương ban hành (không thể thay đổi). Các sheet có tên TT_B1 đến TT_B17 là các sheet dữ liệu nguồn do em tự thiết kế, căn cứ vào dữ liệu nguồn này em sẽ đưa ra công thức thống kê số liệu Đưa sang biểu thống kê tương ứng do trung ương ban hành và trích xuất thông tin đảng viên khi có yêu cầu. Cơ bản là vậy, vấn đề cốt yếu là em lấy thông tin từ mẫu do trung ương ban hành để lên ý tưởng thiết kế form và sắp xếp dữ liệu. Nếu thầy cô cùng các bạn quan tâm, giúp đỡ mong góp ý và lên ý tưởng cho em một mẫu (Biểu 1 ở sheet B1 chẳng hạn) em sẽ căn cứ vào đó để làm cho các biểu sau.
Ở trong các biểu thường có mấy mục lớn là cấp kiểm tra, đối tượng kiểm tra, nội dung kiểm tra, cấp quản lý Đảng viên, đảng viên thuộc các lĩnh vực và kết luận (trong form thiết kế em tách ra thành hai phần: phần một là những thông tin liên quan đến Đảng viên, phần hai là thông tin liên quan đến cấp kiểm tra), Phần nội dung kiểm tra có thể có một hoặc nhiều nội dung, vì vậy khi thiết kế phải để người dùng chọn được nhiều nội dung.
 
Lần chỉnh sửa cuối:
Upvote 0
Trước tiên là bạn cần 1 trang tính làm HSDV (hồ sơ đảng viên) hay tên gì đó khác tương tự như DSDV, . . .)

Trang thứ 2 là các danh mục; chí it chúng cách nhau 1 cột rỗng, gồm:
Chức vụ: [Mã CV] & [Tên chức vụ]
Địa phương hay địa bàn: [Mã Dv], [Tên đơn vị]
Đon vị các cấp của đ3ng: [Mã CW], [Tên cấp ủy] (C: Chi bô; D: Chi bộ FT], [D: Đảng ủy],. . . . .
Kế đến ta làm Form để nhập dữ liệu các trường lên trang tính đầu của bạn
[Tất nhiên ban đầu chưa thể có đủ hết các trường theo nhu cầu hoạt động của file, sau ta sẽ phải bổ sung dần]

Làm được các phần này là như đạt phân nữa chuyện nhập liệu;

Chỉ sau đó ta mới tiến hành vô các biểu mẫu báo cáo

Theo như mình án chừng bạn đang tổ chức quản lý đảng viên cấp huyện; & mỗi xã, thị trấn cỡ 350 ĐV, nên số ĐV cần quản sẽ gần 7.000 - 8.000
. . . .
 
Upvote 0
Trước tiên là bạn cần 1 trang tính làm HSDV (hồ sơ đảng viên) hay tên gì đó khác tương tự như DSDV, . . .)

Trang thứ 2 là các danh mục; chí it chúng cách nhau 1 cột rỗng, gồm:
Chức vụ: [Mã CV] & [Tên chức vụ]
Địa phương hay địa bàn: [Mã Dv], [Tên đơn vị]
Đon vị các cấp của đ3ng: [Mã CW], [Tên cấp ủy] (C: Chi bô; D: Chi bộ FT], [D: Đảng ủy],. . . . .
Kế đến ta làm Form để nhập dữ liệu các trường lên trang tính đầu của bạn
[Tất nhiên ban đầu chưa thể có đủ hết các trường theo nhu cầu hoạt động của file, sau ta sẽ phải bổ sung dần]

Làm được các phần này là như đạt phân nữa chuyện nhập liệu;

Chỉ sau đó ta mới tiến hành vô các biểu mẫu báo cáo

Theo như mình án chừng bạn đang tổ chức quản lý đảng viên cấp huyện; & mỗi xã, thị trấn cỡ 350 ĐV, nên số ĐV cần quản sẽ gần 7.000 - 8.000
. . . .
Vâng, đúng như thầy nói, em có một vấn đề mong thầy và các bạn xem xét giúp. Phần tạo mã Đảng viên thì OK rồi, còn phần tạo mã tên đơn vị hành chính em đang gặp vấn đề thế này, ví dụ tên đơn vị hành chính là: Đảng uỷ thị trấn, code đang đưa ra mã là ĐỦT00. Em chưa biết cách để code đưa ra mã không dấu, thầy có thể giúp em việc này được ko ạ.
 
Upvote 0
Nhưng em rất tò mò số lượng controls trên userform cho từng phiên bản excel giới hạn tối đa là bao nhiêu nhỉ ?. Tìm trên web ko thấy có câu trả lời?
Vài hôm nữa lại nảy ra cái vụ giới hạn số modul trong một file thì lại căng đấy.hihi
 
Upvote 0
Thiết kế sai hết thì làm lại thôi chứ để sau này càng bế tắc.
Như bác ptm0412 đã đề cập, bạn lạm dụng checkbox một cách thái quá. Có rất nhiều hạng mục đúng bài phải dùng Combobox, bạn lại dàn trải thành checkbox rườm rà cái form, bên cạnh đó nó không có khả năng cập nhật nếu sau này có thêm các mục mới.
Nếu bạn phân tích kỹ, dùng các control một cách hợp lý thì 2 3 Tab của bạn cũng có thể gộp thành 1 Tab.
Một vấn đề nữa là chẳng có ai thiết kế 1 cái Form ôm đồm tất cả các form nhập liệu của ứng dụng vô làm một. Chẳng hiểu quả về mặt tiện sử dụng đối với người dùng cũng như đối với code, với hiệu suất hoạt động Form. Nhập liệu tới đâu thì tải dữ liệu lên Form tới đó, xong đóng lại, giải phóng bộ nhớ, tiếp tục tải dữ liệu khác và làm như vậy.
Trước đây tôi cũng có làm cái ứng dụng quản lý đối tượng Đảng nên cũng hiểu chút sự phức tạp của dữ liệu mà bạn đang làm nhưng nhìn qua là biết bạn thiết kế Form không hiệu quả rồi. Nên tổ chức thành từng nhóm các chức năng và có Form riêng cho từng tác vụ thì form sẽ nhẹ nhàng, gọn gàng hơn.

(PS: nói chung làm cái màu nền là sai qui tắc thiết kế rồi (đã cố tìm cái tông màu đỏ ít gây "ngứa con mắt bên phải, đỏ con mắt bên trái" rồi đó) nhưng vì là đặc thù yêu cầu nên phải làm vậy :cool: )
ZldsRVb.png
Khả năng thiết kế của anh phong phú quá - anh Có tuyển thư ký không, chừa cho em 1 vé nhé --=0
 
Upvote 0
Vụ này căng đó nha, ước tình vài chục modul
Bạn có vài chục modules vì chưa thiết kế đúng. Thí dụ:
- Thay vài chục option button tab chung thành 1 combobox, thì đã bớt được vài chục sub
- Bỏ vài chục cái nút đóng form như anh @batman1 đề nghị thì cũng giảm hàng chục sub
- Nếu thiết kế kỹ, thậm chí còn có thể bỏ bớt hàng chục tab, mỗi tab cả mớ sub

Phương pháp thiết kế và giảm thiểu code thì bạn cứ xem gợi ý và code mẫu của anh @batman1 về việc dùng 1 nút đóng form duy nhất, xem code vòng lặp bài #4 của anh @tigertiger thay thế cho mười mấy dòng lệnh của bạn.

Với tôi thì nguyên tắc là nếu nhiều thủ tục áp dụng cho nhiều control, xử lý nhiều sheet nhưng các thủ tục đều tương tự nhau, thì tôi gom lại thành 1 thủ tục với tham số truyền vào.

TB:
Tách module để quản lý code (gom các thủ tục gần nhau vào 1), cũng từng ấy thủ tục mà sắp xếp lại thôi, chứ làm gì có giới hạn
 
Upvote 0
Bạn có vài chục modules vì chưa thiết kế đúng. Thí dụ:
- Thay vài chục option button tab chung thành 1 combobox, thì đã bớt được vài chục sub
- Bỏ vài chục cái nút đóng form như anh @batman1 đề nghị thì cũng giảm hàng chục sub
- Nếu thiết kế kỹ, thậm chí còn có thể bỏ bớt hàng chục tab, mỗi tab cả mớ sub

Phương pháp thiết kế và giảm thiểu code thì bạn cứ xem gợi ý và code mẫu của anh @batman1 về việc dùng 1 nút đóng form duy nhất, xem code vòng lặp bài #4 của anh @tigertiger thay thế cho mười mấy dòng lệnh của bạn.

Với tôi thì nguyên tắc là nếu nhiều thủ tục áp dụng cho nhiều control, xử lý nhiều sheet nhưng các thủ tục đều tương tự nhau, thì tôi gom lại thành 1 thủ tục với tham số truyền vào.

TB:
Tách module để quản lý code (gom các thủ tục gần nhau vào 1), cũng từng ấy thủ tục mà sắp xếp lại thôi, chứ làm gì có giới hạn
Vâng em cảm ơn thầy
 
Upvote 0
. . . . , còn phần tạo mã tên đơn vị hành chính em đang gặp vấn đề thế này, ví dụ tên đơn vị hành chính là: Đảng uỷ thị trấn, code đang đưa ra mã là ĐỦT00. Em chưa biết cách để code đưa ra mã không dấu, thầy có thể giúp em việc này được ko ạ.
Về mã địa phương (chỉ là tỉnh - huyện - xã) mình làm thế này:
Mỗi mã gồm 6 kí số, 2 kí số đầu theo biển số xe của tỉnh đó, như 29: Hà nội; 50 HCM, 16 Hải phòng,. . . .
2 kí số tiếp theo là mã quận huyện, như 01: Quận I (HCM), 04: Q. 4,. . . .
2901: Quận Hoàn kiếm hay Ba Đình (tùy bạn)
500101: Phường Bến Thành Q. 1 HCM,. . . . .

Về mã các địa phương bạn có thể tham khảo thêm bên bưu điện, tổng cục thống kê hay mã do Bộ Nội vụ ban hành để có cái nhìn tối ưu cho trường hợp của bạn
 
Lần chỉnh sửa cuối:
Upvote 0

Bạn có vài chục modules vì chưa thiết kế đúng. Thí dụ:
- Thay vài chục option button tab chung thành 1 combobox, thì đã bớt được vài chục sub
- Bỏ vài chục cái nút đóng form như anh @batman1 đề nghị thì cũng giảm hàng chục sub
- Nếu thiết kế kỹ, thậm chí còn có thể bỏ bớt hàng chục tab, mỗi tab cả mớ sub

Phương pháp thiết kế và giảm thiểu code thì bạn cứ xem gợi ý và code mẫu của anh @batman1 về việc dùng 1 nút đóng form duy nhất, xem code vòng lặp bài #4 của anh @tigertiger thay thế cho mười mấy dòng lệnh của bạn.

Với tôi thì nguyên tắc là nếu nhiều thủ tục áp dụng cho nhiều control, xử lý nhiều sheet nhưng các thủ tục đều tương tự nhau, thì tôi gom lại thành 1 thủ tục với tham số truyền vào.

TB:
Tách module để quản lý code (gom các thủ tục gần nhau vào 1), cũng từng ấy thủ tục mà sắp xếp lại thôi, chứ làm gì có giới hạn
cơ bản em xin được tiếp thu, nhưng vụ option button và checkbox cần phải nghiên cứu thêm vì em đã từng thay opption button bằng combobox nhưng giao diện nhập liệu sao sao ấy
Bài đã được tự động gộp:

Về mã địa phương (chỉ là tỉnh - huyện - xã) mình làm thế này:
Mỗi mã gồm 6 kí số, 2 kí số đầu theo biển số xe của tỉnh đó, như 29: Hà nội; 50 HCM, 16 Hải phòng,. . . .
2 kí số tiếp theo là mã quận huyện, như 01: Quận I (HCM), 04: Q. 4,. . . .
2901: Quận Hoàn kiếm hay Ba Đình (tùy bạn)
500101: Phường Bến Thành Q. 1 HCM,. . . . .

Về mã các địa phương bạn có thể tham khảo thêm bên bưu điện, tổng cục thống kê hay mã do Bộ Nội vụ ban hành để có cái nhìn tối ưu cho trường hợp của bạn
Em cảm ơn thầy, thầy có thể viết code để em tham khảo được ko ạ
Bài đã được tự động gộp:

Trước tiên là bạn cần 1 trang tính làm HSDV (hồ sơ đảng viên) hay tên gì đó khác tương tự như DSDV, . . .)

Trang thứ 2 là các danh mục; chí it chúng cách nhau 1 cột rỗng, gồm:
Chức vụ: [Mã CV] & [Tên chức vụ]
Địa phương hay địa bàn: [Mã Dv], [Tên đơn vị]
Đon vị các cấp của đ3ng: [Mã CW], [Tên cấp ủy] (C: Chi bô; D: Chi bộ FT], [D: Đảng ủy],. . . . .
Kế đến ta làm Form để nhập dữ liệu các trường lên trang tính đầu của bạn
[Tất nhiên ban đầu chưa thể có đủ hết các trường theo nhu cầu hoạt động của file, sau ta sẽ phải bổ sung dần]

Làm được các phần này là như đạt phân nữa chuyện nhập liệu;

Chỉ sau đó ta mới tiến hành vô các biểu mẫu báo cáo

Theo như mình án chừng bạn đang tổ chức quản lý đảng viên cấp huyện; & mỗi xã, thị trấn cỡ 350 ĐV, nên số ĐV cần quản sẽ gần 7.000 - 8.000
. . . .
Cách này hay nhưng lại sảy ra vấn đề là khi tham chiếu code công thức đưa tới biểu thống kê lại gặp vấn đề là nó không liền mạck và đồng bộ. Nên khi viết code công thức lại phải viết nhiều công thức tham chiếu hơn.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom