Các bạn cho hỏi làm thế nào dùng VBA để kiểm tra đc cái này.Ko hiểu sao WorkSheetFunction lại ko có hàm IsBlank.
:angel:Option Explicit
Sub Is_Empty()
Sheets("S1").Select: Dim Rng As Range, StrC As String
For Each Rng In Range("A2:B9")
StrC = Rng.Address
If IsEmpty(Rng) Then MsgBox "IsEmpty", , StrC
If IsNull(Rng) Then MsgBox "IsNull", , StrC
If Rng.Value = "" Then MsgBox "IsBlanl", , StrC
If Rng.Value = " " Then MsgBox "?", , StrC
Next Rng
End Sub
Mình thử diễn dịch 3 dòng lệnh của bạn, sẽ như sau:Do while activecell.offset(-1) <>"" and activecell.offcell(-2)<>""
activecell=activecell.offset(-1)+activecell.offset(-2)
activecell(0,-1).active
loop
/(hông chỉ nhầm 1 chổ đâu! Vẫn là nhầm mà phải là: /)/ều xét cột A & B từ cột C :activecell.offset(,-2) - cột A & activecell.offset(,-1) - cột BCó 3 cột A,B,C. Người sử dụng đặt chuột ở cột C, yêu cầu khi chạy nó sẽ kiểm tra xem cột A,B có dữ liệu hay không, nếu có thì tính tổng và ghi vào cột C, cứ như thế chạy xuống các hàng dưới và làm tương tự. Code trên đoạn bạn bảo sai thì ko phải, nó đúng rồi. Chỉ nhầm ở chỗ activecell(0,-1).active phải là activecell(0,1).active để cho nó chạy tiếp xuống hàng dưới. Cái mình thắc mắc là mình dùng do while nó kiểm tra điều kiện trước rồi mới thực hiện lệnh. Vậy nếu 2 ô ở cột A,B đã trống rồi thì nó bỏ qua luôn vậy tại sao cột C vẫn đc gán giá trị là True.
Range("A2").Select
Do while activecell.Value <>""
activecell.Offset(,2) =activecell.offset(,1) + activecell.Value
activecell(1).active
loop
Msgbox ActiveCell.Address
Option Explicit
Sub SumABToC()
Dim iJ As Long: iJ = 1
Application.ScreenUpdating = False
Do
iJ = iJ + 1: Range("A" & iJ).Select
If ActiveCell.Value = "" Then Exit Do
ActiveCell.Offset(, 2) = ActiveCell.Offset(, 1) + ActiveCell.Value
Loop
End Sub