Xóa giá trị trong ô excel bằng VBA

Liên hệ QC

tuyen2806

Thành viên mới
Tham gia
17/4/20
Bài viết
40
Được thích
7
Chào các Bác,

Em đang làm báo cáo tháng/năm căn cứ theo điều kiện của danh sách sổ xuống (Data validation )
Em muốn có 1 đoạn code nhỏ để thực hiện lệnh khi chọn ô G4 như sau:

Khi chọn ô G4:
Nếu G4="ALL" thì xóa giá trị "H4"
Nếu G4<>"ALL" thì cập nhật giá trị của "H4" = "ALL"

Em không biết về VBA nhưng có tham khảo trên mạng nhưng cũng không được như ý muốn
Em có đính kèm file và nhờ các Bác hỗ trợ giúp em ạ
Cảm ơn
 

File đính kèm

  • Book2.xlsm
    14.9 KB · Đọc: 6
Chào các Bác,

Em đang làm báo cáo tháng/năm căn cứ theo điều kiện của danh sách sổ xuống (Data validation )
Em muốn có 1 đoạn code nhỏ để thực hiện lệnh khi chọn ô G4 như sau:

Khi chọn ô G4:
Nếu G4="ALL" thì xóa giá trị "H4"
Nếu G4<>"ALL" thì cập nhật giá trị của "H4" = "ALL"

Em không biết về VBA nhưng có tham khảo trên mạng nhưng cũng không được như ý muốn
Em có đính kèm file và nhờ các Bác hỗ trợ giúp em ạ
Cảm ơn
Code trong sheet nhé, không phải trong modules:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cll As Range
Set Cll = Range("G4")
If Not Intersect(Cll, Target) Is Nothing Then
    If Range("G4").Value = "ALL" Then
        Range("H4").Value = ""
    Else
        Range("H4").Value = "ALL"
    End If
End If
End Sub
 
Upvote 0
Code trong sheet nhé, không phải trong modules:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cll As Range
Set Cll = Range("G4")
If Not Intersect(Cll, Target) Is Nothing Then
    If Range("G4").Value = "ALL" Then
        Range("H4").Value = ""
    Else
        Range("H4").Value = "ALL"
    End If
End If
End Sub
Cảm ơn Bác nhiều ạ, nhưng trong sheet cũng có 1 đoạn code đang sử dụng nên khi gán code này vào nó bị lỗi ạ

sorry Bác vì lúc đầu em không nói rõ
Bác xem lại file giúp em với ạ
 

File đính kèm

  • Book2.xlsm
    15 KB · Đọc: 8
Upvote 0
Cảm ơn Bác nhiều ạ, nhưng trong sheet cũng có 1 đoạn code đang sử dụng nên khi gán code này vào nó bị lỗi ạ

sorry Bác vì lúc đầu em không nói rõ
Bác xem lại file giúp em với ạ
Thay 2 code đó thành cái này
Chắc tí lại hỏi thêm sao cái HidRow2 bị lỗi (Chứ cũng không thấy gửi lên)
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Set Rng = Range("G1,G4")
If Not Intersect(Rng, Target) Is Nothing Then
    If Target.Address(0, 0) = "G1" Then
        Call HidRow2
    Else
        If Range("G4").Value = "ALL" Then
            Range("H4").Value = ""
        Else
            Range("H4").Value = "ALL"
        End If
    End If
End If
End Sub
 
Upvote 0
Thay 2 code đó thành cái này
Chắc tí lại hỏi thêm sao cái HidRow2 bị lỗi (Chứ cũng không thấy gửi lên)
...
Không ai nhét 2 code với công việc khác nhau vào cùng một chỗ cả.
Bạn sửa cái sub ở bài #2 thành:
Private Sub FlagCellValue(ByVal Target As Range)

Trong cái Sub WorkSheet_Change đã có sẵn, thêm dòng:
FlagCellValue Target
 
Upvote 0
Không ai nhét 2 code với công việc khác nhau vào cùng một chỗ cả.
Bạn sửa cái sub ở bài #2 thành:
Private Sub FlagCellValue(ByVal Target As Range)

Trong cái Sub WorkSheet_Change đã có sẵn, thêm dòng:
FlagCellValue Target
Cảm ơn anh/chị rất nhiều
Chúc anh/chị 1 năm mới an khang thịnh vượng ạ
Bài đã được tự động gộp:

Không ai nhét 2 code với công việc khác nhau vào cùng một chỗ cả.
Bạn sửa cái sub ở bài #2 thành:
Private Sub FlagCellValue(ByVal Target As Range)

Trong cái Sub WorkSheet_Change đã có sẵn, thêm dòng:
FlagCellValue Target
Cảm ơn Bác rất nhiều ạ
 
Upvote 0
Web KT

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

Back
Top Bottom