Hỏi: Tìm các ô trống trong cột B và điền giá trị từ cột A ở hàng tương ứng. Nếu không tìm thấy giá trị, ô đó sẽ được tô màu xanh dương.
Đáp:
Bạn có thể sử dụng VBA để thực hiện yêu cầu của bạn. Dưới đây là một đoạn mã VBA sẽ tìm các ô trống trong cột B và điền giá trị từ cột A ở hàng tương ứng. Nếu không tìm thấy giá trị, ô đó sẽ được tô màu xanh dương.
Sub FillBlankCells()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim searchValue As Variant
    Dim foundValue As Range
    ' Đặt trang tính cần làm việc
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Thay "Sheet1" bằng tên trang tính của bạn
    ' Vùng dữ liệu từ A1:B1000
    Set rng = ws.Range("A1:B1000")
' Duyệt qua từng ô trong cột B từ B1 đến B1000
For Each cell In ws.Range("B1:B1000")
    ' Kiểm tra ô có trống không
    If IsEmpty(cell.Value) Then
        ' Lấy giá trị từ cột A ở cùng hàng
        searchValue = cell.Offset(0, -1).Value
    ' Sử dụng hàm VLOOKUP để tìm giá trị trong cột B
    Dim vlookupResult As Variant
    vlookupResult = Application.VLookup(searchValue, ws.Range("A1:B1000"), 2, False)
    ' Kiểm tra kết quả của VLOOKUP
    If Not IsError(vlookupResult) Then
        ' Nếu tìm thấy giá trị thì điền vào ô trống
        cell.Value = vlookupResult
    Else
        ' Nếu không tìm thấy giá trị thì tô màu xanh dương cho ô đó
        cell.Interior.Color = RGB(0, 0, 255)
    End If
End If
Next cell
End Sub
Để sử dụng đoạn mã này:
- Mở Excel.
- Nhấn Alt + F11để mở trình soạn thảo VBA.
- Chọn Insert > Moduleđể tạo một module mới.
- Sao chép và dán đoạn mã trên vào module vừa tạo.
- Đóng trình soạn thảo VBA.
- Quay lại Excel, nhấn Alt + F8, chọnFillBlankCellsvà nhấnRun.
Đoạn mã này sẽ kiểm tra từng ô trong cột B. Nếu ô nào trống, nó sẽ tìm giá trị tương ứng trong cột A và điền vào ô trống đó. Nếu không tìm thấy giá trị tương ứng, ô đó sẽ được tô màu xanh dương.

