[Nhờ Giúp Đỡ] Chạy code khi thỏa điều kiện

Liên hệ QC

M@trixs

Thành viên thường trực
Tham gia
3/3/11
Bài viết
257
Được thích
335
M@trixs có file đính kèm bên dưới. M@trixs muốn tạo điều kiện Hiện Form/ Không hiện Form thỏa điều kiện khi người dùng click vào nút Select. Mọi người giúp M@trixs với nhé !!!
 

File đính kèm

  • Nhac Viec.xlsm
    30.5 KB · Đọc: 19
M@trixs có file đính kèm bên dưới. M@trixs muốn tạo điều kiện Hiện Form/ Không hiện Form thỏa điều kiện khi người dùng click vào nút Select. Mọi người giúp M@trixs với nhé !!!

Code của bạn là:
Mã:
Private Sub Workbook_Open()
  BangNhacViec.Show
End Sub
Sửa thành:
Mã:
Private Sub Workbook_Open()
  [COLOR=#ff0000]If Sheet1.CheckBoxes("Check Box 2").Value = 1 Then[/COLOR] BangNhacViec.Show
End Sub
 
Upvote 0
Phương án

Mã:
Private Sub Workbook_Open()
  If Sheet1.CheckBoxes("Check Box 2")  Then BangNhacViec.Show
End Sub
 
Upvote 0
Phương án

Mã:
Private Sub Workbook_Open()
  If Sheet1.CheckBoxes("Check Box 2")  Then BangNhacViec.Show
End Sub

Theo mặc định thì:
- CheckBox (Forms) khi được check sẽ có giá trị = 1
- CheckBox (Forms) khi chưa check sẽ có giá trị = -4146
Vậy nên câu lệnh:
If Sheet1.CheckBoxes("Check Box 2") Then BangNhacViec.Show
Sẽ khiến cho Form BangNhacViec luôn Show bất kể CheckBox 2 có được check hay không
 
Upvote 0
Cảm ơn mọi người đã giúp đỡ. Vấn đề đã được giải quyết, nhưng lại nảy sinh vấn đề khác vì M@trixs đưa phần Nhắc Việc đó vào file chính của M@trixs luôn thì nó báo lỗi. Lỗi này xảy ra khi đứng ở một Sheet khác Sheet [NhacViec] và đã chọn là luôn hiện bảng nhắc việc, còn nếu đứng ở Sheet[NhacViec] thì không có lỗi.

Nội dung lỗi hiển thị như sau:

loi.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn mọi người đã giúp đỡ. Vấn đề đã được giải quyết, nhưng lại nảy sinh vấn đề khác vì M@trixs đưa phần Nhắc Việc đó vào file chính của M@trixs luôn thì nó báo lỗi. Lỗi này xảy ra khi đứng ở một Sheet khác Sheet [NhacViec] và đã chọn là luôn hiện bảng nhắc việc, còn nếu đứng ở Sheet[NhacViet] thì không có lỗi.

Nội dung lỗi hiển thị như sau:

Đưa nguyên file lên đi
Nhìn hình chẳng thể đoán được gì đâu
 
Upvote 0
Theo mặc định thì:
- CheckBox (Forms) khi được check sẽ có giá trị = 1
- CheckBox (Forms) khi chưa check sẽ có giá trị = -4146
Vậy nên câu lệnh:
If Sheet1.CheckBoxes("Check Box 2") Then BangNhacViec.Show
Sẽ khiến cho Form BangNhacViec luôn Show bất kể CheckBox 2 có được check hay không

đúng, khi người dùng chỉ quẳng checkbox ra, NHƯNG
Ngay khi thiết kế kiểu gì ta cũng check, vậy lo chi
 
Upvote 0
Cảm ơn mọi người đã giúp đỡ. Vấn đề đã được giải quyết, nhưng lại nảy sinh vấn đề khác vì M@trixs đưa phần Nhắc Việc đó vào file chính của M@trixs luôn thì nó báo lỗi. Lỗi này xảy ra khi đứng ở một Sheet khác Sheet [NhacViec] và đã chọn là luôn hiện bảng nhắc việc, còn nếu đứng ở Sheet[NhacViet] thì không có lỗi.

Nội dung lỗi hiển thị như sau:



ví sai ở lệnh Sheets("NhacViec") --> không có tên sheet này, bạn nên viết là NhacViet lun ...........
(do NhacViec da la ten sheet-code)
 
Upvote 0
ví sai ở lệnh Sheets("NhacViec") --> không có tên sheet này, bạn nên viết là NhacViet lun ...........
(do NhacViec da la ten sheet-code)

Xin lỗi vì đánh máy nhanh quá nên bị sai chính tả. Sheet[NhacViec] bạn à. Bạn tải file đính kèm về giúp mình với nhé !!!
 
Upvote 0
Lỗi là đúng rồi
Sheets("NhacViec").Select
Trong khi sheet NhacViec đang bị ẩn thì Select quái gì chứ


Vậy M@trixs mới cần đến sự giúp đỡ của các bạn. Vì rằng khi làm file ban đầu mình đã ẩn đi tất cả, chỉ chừa Sheet được sử dụng thì không ẩn. Các bạn giúp mình khắc phục với.

Do có khá là nhiều Sheet nên không thể chọn phương án Hiện Sheet lên được, lu bu lắm. M@trixs lại không rành về VBA nên cần lắm sự giúp dỡ của các bạn !!!!
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy M@trixs mới cần đến sự giúp đỡ của các bạn. Vì rằng khi làm file ban đầu mình đã ẩn đi tất cả, chỉ chừa Sheet được sử dụng thì không ẩn. Các bạn giúp mình khắc phục với.

Do có khá là nhiều Sheet nên không thể chọn phương án Hiện Sheet lên được, lu bu lắm. M@trixs lại không rành về VBA nên cần lắm sự giúp dỡ của các bạn !!!!
Muốn lấy dữ liệu thì cứ việc lấy, cần gì phải Select
Mã:
Private Sub UserForm_Activate()
  Dim rCel As Range, wks As Worksheet
  Dim ListQuaHanRow As Long, ListDenHanRow As Long
  Set wks = ThisWorkbook.Sheets("NhacViec")
  Me.Caption = "Cac thong bao nhac nho trong ngay " & Format(Now(), "dd/mm/yyyy")
  Me.ListQuaHan.Clear
  Me.ListDenHan.Clear
  Me.MultiPage1.Value = 1
  For Each rCel In wks.Range(wks.[A2], wks.[A65000].End(xlUp))
    If rCel.Value < Now Then
      Me.ListQuaHan.AddItem (Format(rCel.Value, "dd/mm/yyyy"))
      Me.ListQuaHan.List(ListQuaHanRow, 1) = rCel.Offset(, 1).Value
      ListQuaHanRow = ListQuaHanRow + 1
    ElseIf rCel.Value >= Now() And rCel.Value <= Now() + 7 Then
      Me.ListDenHan.AddItem (Format(rCel.Value, "dd/mm/yyyy"))
      Me.ListDenHan.List(ListDenHanRow, 1) = rCel.Offset(, 1).Value
      ListDenHanRow = ListDenHanRow + 1
    End If
  Next
End Sub
Chẳng xì léc xì liếc gì cả
 
Upvote 0
Web KT
Back
Top Bottom