Nhờ diễn đàn viết giúp code kẻ bảng bằng VBA (1 người xem)

  • Thread starter Thread starter Blad01
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

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 anh chị trong diễn dàn.
Em muốn khi click vào nút "THÊM" trong Form "NHẬP DỮ LIỆU" ở Sheet B1-KTDV30 thì dòng dữ liệu mới được chèn vào sẽ có định dạng Borders như trong Sheet Vidu. Mong anh chị diễn đàn giúp em.
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các anh chị trong diễn dàn.
Em muốn khi click vào nút "THÊM" trong Form "NHẬP DỮ LIỆU" ở Sheet B1-KTDV30 thì dòng dữ liệu mới được chèn vào sẽ có định dạng Borders như trong Sheet Vidu. Mong anh chị diễn đàn giúp em.
Kẻ khung cho dòng vừa thêm dữ liệu:
Mã:
EndR = Sheet1.Range("A65000").End(xlUp).Row + 1
Sheet1.Range("A" & EndR & ":AP" & EndR).Borders.LineStyle = 1
Chỗ EndR thì nên sửa lại như vầy:
Mã:
EndR = .Range("E" & Rows.Count).End(xlUp).Row+1
Để về sau sử dụng là EndR thôi (chứ viết hoài EndR +1)
Chỗ thông báo chưa nhập dữ liệu thì sửa lại:
Mã:
If txtBCThang.Text = "" Then
    MsgBox "Chua nhap du lieu: Báo cáo tháng": txtBCThang.SetFocus: Exit Sub
End If
Để chưa nhập tại đâu thì chỏ chuột tại đó, thoát sub tại đó (chứ chưa nhập 10 cái thì xem xong 10 cái thông báo mới nhập sao?)
Tương tự cho các textbox khác.
Ngoài ra, form có một số chỗ label, checkbox bị rớt chữ...
 
Upvote 0
Chào các anh chị trong diễn dàn.
Em muốn khi click vào nút "THÊM" trong Form "NHẬP DỮ LIỆU" ở Sheet B1-KTDV30 thì dòng dữ liệu mới được chèn vào sẽ có định dạng Borders như trong Sheet Vidu. Mong anh chị diễn đàn giúp em.

Bạn đã viết được 1 Sub "hoành tráng" mà còn "kẹt" chuyện kẻ khung?
Bên trên bạn đã tìm được EndR = .Range("E" & Rows.Count).End(xlUp).Row
Bây giờ muốn kẻ khung cho dòng tiếp theo thì thêm dòng này trên dòng End With
PHP:
.Range("A" & EndR + 1).Resize(, 42).Borders.LineStyle = 1
Mà sao bên trên EndR =.... bạn không +1 để các dòng lệnh bên dưới khỏi phải EndR+1 (hơn chục cái +1)
 
Upvote 0
Thử vầy xem sao
Mã:
Range("A4", [A65536].End(3)).Resize(, 42).Borders.LineStyle = 1
 
Upvote 0
Các anh chị trong diễn đàn giúp em thêm một vấn đề nữa với:
Em muốn tạo một hộp thoại thông báo lỗi nếu nhập dữ liệu không logic.
Ví dụ: trong Form ở phần Cấp kiểm tra, khi tích chọn Huyện ủy, Ban Thường vụ huyện ủy; ở phần đảng viên do từng cấp quản lý tích chọn Cấp tỉnh. thì tự động hiện lên hộp thoại thông báo "Loi: Huyện ủy không có thẩm quyền kiểm tra đảng viên do cấp tỉnh quản lý" (ở đây em muốn nếu tích chọn 2 nội dung nêu trên thì bảng thông báo sẽ tự động xuất hiện).
Em đã làm thử như thế này nhưng code không chạy:
Mã:
Private Sub cktHU_Change()
If cktHU.Value = True And dvtcqlCapTinh.Value = True Then
    MsgBox "Loi: Huyen uy khong kiem tra dang vien do cap tinh quan ly": Exit Sub
End If
End Sub
hoặc thể này cũng không được:
Mã:
Private Sub cktHU_Change()
Select Case cktHU.Value = True
Case dvtcqlCapTinh.Value = True
    MsgBox "Loi: Huyen uy khong kiem tra dang vien do cap tinh quan ly": Exit Sub
Case cuvccTinhUyVien.Value = True
    MsgBox "Loi: Huyen uy khong kiem tra tinh uy vien": Exit Sub
End Select
End Sub
Cảm ơn các anh chị nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Anh chị giúp em. Em muốn nút THÊM trong Form ở File mau đăng ở #1 có hai chức năng khi click:
1) Ghi dữ liệu vào bảng tính.
2) xóa các dòng dữ liệu đã nhập ở Textbox, combobox, checkbox, optionbutton để tiếp tục nhập các dữ liệu mới.
Em mới làm được yêu cầu 1; còn yêu cầu 2 em mới chỉ biết cách làm trống textbox, còn dữ liệu ở combobox, checkbox, optionbutton em chưa làm được.
Các bạc giúp em với ạ.
 
Upvote 0
Cóp của bác nào đó trên diễn đàn
Mã:
ExecuteExcel4Macro ("BORDER(1,1,0,7,0,0,0)")
 
Upvote 0
Mình thì nghĩ có khác thường 1 chút:

Chủ bài đăng đang dùng form để nhập liệu; Có nghĩa lÀ ĐANG TẠO 1 CSDL (thuộc dạng THÔ)
Sao bạn không làm 1 macro kẻ khung cho 999 hàng/dòng luôn
Sau đó ta cứ nhập dần số liệu thôi.
Nếu muốn đẹp thì đem ẩn các dòng đã kẻ khung nhưng chưa có dữ liệu đi.
Thực tế CSDL thô thì ít ai mà nhảy vô nớ xem nó đẹp hay xấu;
Diêm dúa cần là lúc tạo ra các báo cáo để xem hay in kia.

Mong rằng ai đó không fật lòng!
 
Upvote 0
Mình thì nghĩ có khác thường 1 chút:

Chủ bài đăng đang dùng form để nhập liệu; Có nghĩa lÀ ĐANG TẠO 1 CSDL (thuộc dạng THÔ)
Sao bạn không làm 1 macro kẻ khung cho 999 hàng/dòng luôn
Sau đó ta cứ nhập dần số liệu thôi.
Nếu muốn đẹp thì đem ẩn các dòng đã kẻ khung nhưng chưa có dữ liệu đi.
Thực tế CSDL thô thì ít ai mà nhảy vô nớ xem nó đẹp hay xấu;
Diêm dúa cần là lúc tạo ra các báo cáo để xem hay in kia.

Mong rằng ai đó không fật lòng!

Hô một tiếng, mấy người giúp. Tội gì hổng làm hở bạn.
 
Upvote 0
Web KT

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

Back
Top Bottom