Hỏi về code chạy theo điều kiện! (1 người xem)

Liên hệ QC

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

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Chào anh chị!
Em muốn chạy code, khi đang active ở sheet21 và cột S thì mới chạy, nếu ở sheets khác thì sẽ thông báo lỗi. phải sửa code như nào em xin cảm ơn
Mã:
Sub ActiveCell_KL()
    MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
            "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
    ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
End Sub
 
Chào anh chị!
Em muốn chạy code, khi đang active ở sheet21 và cột S thì mới chạy, nếu ở sheets khác thì sẽ thông báo lỗi. phải sửa code như nào em xin cảm ơn
Mã:
Sub ActiveCell_KL()
    MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
            "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
    ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
End Sub
Bạn gửi file anh chị sẽ hỗ trợ nhanh hơn
 
Upvote 0
Thiếu 1 điệu kiện nữa là phải đang ativate ở sheet21
Bạn xem dùm lại với!
Thử cái này xem:
PHP:
Public Sub GPE()
If ActiveSheet.Name = "VoVa" Then
    If ActiveCell.Column = 19 Then
        '..........................'
    End If
End If
End Sub
 
Upvote 0
Thiếu 1 điệu kiện nữa là phải đang ativate ở sheet21
Bạn xem dùm lại với!
Bạn thay code của anh Ba Tê như vậy là được

Mã:
Public Sub ActiveCell_KL()
If ActiveSheet.Name = "VoVa" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
End If
End Sub
 
Upvote 0
Thử cái này xem:
PHP:
Public Sub GPE()
If ActiveSheet.Name = "VoVa" Then
    If ActiveCell.Column = 19 Then
        '..........................'
    End If
End If
End Sub
Mã:
Sub ActiveCell_KL()
    If ActiveSheet.Name = "VoVa" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
  End If
End Sub
- 2 Điều kiện phải lồng thêm else như nào để nếu đúng điều kiện sẽ thông báo "
MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
" anh nhỉ hay phải làm 2 cái msgbox
- Code này ActiveSheet.Name = "VoVa" muốn đổi thành codeName ActiveSheet.Name = Sheets21 sửa như nào ạ, vì có thể khi mình sửa tên sheets code sẽ không anh hưởng gì
 
Lần chỉnh sửa cuối:
Upvote 0
Mã:
Sub ActiveCell_KL()
    If ActiveSheet.Name = "VoVa" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
  End If
End Sub
- 2 Điều kiện phải lồng thêm else như nào để nếu đúng điều kiện sẽ thông báo "
MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
" anh nhỉ hay phải làm 2 cái msgbox
- Code này ActiveSheet.Name = "VoVa" muốn đổi thành codeName ActiveSheet.Name = Sheets21 sửa như nào ạ, vì có thể khi mình sửa tên sheets code sẽ không anh hưởng gì
Bạn cứ thử ActiveSheet.CodeName = "Sheet21" Then
 
Upvote 0
Bạn cứ thử ActiveSheet.CodeName = "Sheet21" Then
Nếu không đúng điều kiện "sheet21" code end if luôn làm sao để cho nó chạy đến else thông báo 1 cái rồi mới quít nhỉ bạn
If ActiveSheet.CodeName = "Sheet21" Then

Mã:
Sub ActiveCell_KL()
If ActiveSheet.CodeName = "Sheet21" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
End If
End Sub
 
Upvote 0
Nếu không đúng điều kiện "sheet21" code end if luôn làm sao để cho nó chạy đến else thông báo 1 cái rồi mới quít nhỉ bạn
If ActiveSheet.CodeName = "Sheet21" Then

Mã:
Sub ActiveCell_KL()
If ActiveSheet.CodeName = "Sheet21" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
End If
End Sub
Mình chưa hiểu ý cho lắm
ý bạn muốn thông báo code này nếu không thỏa mãn điều kiện hay gì ?
Mã:
MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
 
Upvote 0
Mình chưa hiểu ý cho lắm
ý bạn muốn thông báo code này nếu không thỏa mãn điều kiện hay gì ?
Mã:
MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
Mã:
Sub ActiveCell_KL()
If ActiveSheet.CodeName = "Sheet21" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
End If
End Sub
Đoạn code trên nếu không đứng ở sheet21 thì code End sub không không về else để chạy Msg bạn à
 
Upvote 0
Mã:
Sub ActiveCell_KL()
If ActiveSheet.CodeName = "Sheet21" Then
    If ActiveCell.Column = 19 Then
        MsgBox "Chèn KL vào côt S Sheet(VoVa)" & vbLf & _
               "Sum_Range: Thay côt Y:Y = côt KL cân` Nghiêm Thu Sheet(KL)"
        ActiveCell.Formula = "=SUMIFS(KL!C[6],KL!C1,"">=""&OFFSET(R1C19,ROW()-1,-7,1,1),KL!C1,""<=""&OFFSET(R1C19,ROW()-1,-6,1,1))"
    Else
        MsgBox "Ban phai chon o* Sheet(VoVa) côt S", vbCritical, "Chèn KL Thiêt' Kê'"
    End If
End If
End Sub
Đoạn code trên nếu không đứng ở sheet21 thì code End sub không không về else để chạy Msg bạn à
Theo suy đoán của mình là bạn đang dùng code này để gán vào button trên ribbon đúng không?
 
Upvote 0
Mã:
If ... Then
   If ... Then
   '...
   Else
  msgbox "Chọn cột S"
  End if
Else
  msgbox "Chọn Sheet Vô Va"
End If
Chuẩn rồi! em cảm ơn anh nhiều!
Bài đã được tự động gộp:

Theo suy đoán của mình là bạn đang dùng code này để gán vào button trên ribbon đúng không?
Vâng đúng rồi! mình gán vào ribbon dùng cho trực quan! cảm ơn bạn nhiều nhé! ok rồi
 
Upvote 0
Web KT

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

Back
Top Bottom