Code tô màu đầy đủ những ô trống nhưng chỉ thông báo 1 lần là "ô trống" rồi tiếp tục làm việc khác

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,058
Được thích
170
Thầy, cô và anh chị sửa code em như sau:
1/ Tô màu những ô trống ở cột A : em đã làm được
2/ Em dùng vòng lặp thứ 2: nếu có ô trống thì thông báo có "ô trống" rồi thoát code (mục đích để thông báo 1 lần, nếu có nhiều ô trống thì bấm mệt xỉu) vì vậy em có thêm Exit Sub
**************
Bây giờ em muốn nó
1/ Vẫn tô màu đầy đủ cho các ô trống
2/ Chỉ cần thông báo có "ô trống" 1 lần (nếu có ô trống) rồi sau đó code tiếp tục làm việc (chứ không Exit Sub)
Em xin cảm ơn!
 

File đính kèm

  • Hoi-ThongBaoMotLan.xlsm
    17.7 KB · Đọc: 9
Thầy, cô và anh chị sửa code em như sau:
1/ Tô màu những ô trống ở cột A : em đã làm được
2/ Em dùng vòng lặp thứ 2: nếu có ô trống thì thông báo có "ô trống" rồi thoát code (mục đích để thông báo 1 lần, nếu có nhiều ô trống thì bấm mệt xỉu) vì vậy em có thêm Exit Sub
**************
Bây giờ em muốn nó
1/ Vẫn tô màu đầy đủ cho các ô trống
2/ Chỉ cần thông báo có "ô trống" 1 lần (nếu có ô trống) rồi sau đó code tiếp tục làm việc (chứ không Exit Sub)
Em xin cảm ơn!
Khai báo thêm biến K
Sửa đoạn này, Nếu K>0 thì báo, K=0 thì "im ru"
PHP:
For i = 6 To DongCuoi
        If Cells(i, 1) = "" Then
            K = K + 1
            Range("A" & i).Interior.ColorIndex = 3
        End If
    Next i
    '********************
    If K>0 Then MsgBox "Có ô trống"
 
Upvote 0
Bạn muốn làm việc khác khi code đang chạy thì phải có VBA.DoEvents trong code. Để nó trong Vòng lặp là tốt nhất.


PHP:
    Dim b as boolean
    For i = 6 To DongCuoi
        DoEvents
        If Cells(i, 1) = "" Then
            if not b then
                 b = true
                 MsgBox "Có ô trống"
            end if
            Range("A" & i).Interior.ColorIndex = 3
        End If
    Next i
   
    Dim r as range
    For i = 6 To DongCuoi
        If Cells(i, 1) = "" Then
            if r is nothing then               
                set r = Cells(i, 1)
                MsgBox "Có ô trống"
            else
                set r =union( Cells(i, 1), r )
            end if
        End If
        DoEvents
    Next i
    if not r is nothing then
       r.Interior.ColorIndex = 3
    end if
 
Upvote 0
Em cảm ơn các Thầy cô & anh chị đã giúp đỡ!
 
Upvote 0
Web KT

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

Back
Top Bottom