Header Ads

ExcelVba Tự động Tìm ô trống và điền dữ liệu theo Vlookup của bảng hiện tại



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 tA1: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:

  1. Mở Excel.
  2. Nhấn Alt + F11 để mở trình soạn thảo VBA.
  3. Chọn Insert > Module để tạo một module mới.
  4. Sao chép và dán đoạn mã trên vào module vừa tạo.
  5. Đóng trình soạn thảo VBA.
  6. Quay lại Excel, nhấn Alt + F8, chọn FillBlankCells và nhấn Run.

Đ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.

No comments

Powered by Blogger.