Giúp code xóa nhưng ô có công thức là trống trống (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hunglam123

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
31/3/20
Bài viết
180
Được thích
43
Em có 1 file excel. File này em copy dữ liệu từ 1 file khác mà dữ liệu có công thức như thế này
Tại vùng B4:b22 có công thức nếu =IF(A4="","",A4) . Ví dụ như hình thì làm sao để bắt được vùng B7:B22 để Clear( Vùng này có giá trị là trống trống ). Tại vùng này thường xuyên thay đổi dữ liệu nên cần bắt vùng trống trống tự động. Em cảm ơn ạ

1586615946287.png
 

File đính kèm

  • 1586615877120.png
    1586615877120.png
    31.7 KB · Đọc: 0
  • Trong trong.xlsb
    Trong trong.xlsb
    15.5 KB · Đọc: 8
Em có 1 file excel. File này em copy dữ liệu từ 1 file khác mà dữ liệu có công thức như thế này
Tại vùng B4:b22 có công thức nếu =IF(A4="","",A4) . Ví dụ như hình thì làm sao để bắt được vùng B7:B22 để Clear( Vùng này có giá trị là trống trống ). Tại vùng này thường xuyên thay đổi dữ liệu nên cần bắt vùng trống trống tự động. Em cảm ơn ạ

View attachment 235366

Bạn thử chạy Sub Xoa_Trong_Trang , xem có được không ạ?

Mã:
Sub dongucoi()
    Dim i As Long, a As Long
    i = Range("a22").End(xlUp).Row
    a = Range("b22").End(xlUp).Row
    MsgBox (a & "    " & i)
End Sub

Sub Xoa_Trong_Trang()
    
    Dim vao As Variant, ra As Variant, sh As Worksheet
    Dim rng As Range, i As Long, r As Long, k As Long
    Set sh = ThisWorkbook.Worksheets("Sheet1")
    Set rng = sh.Range("A4:B22")
    vao = rng.Value
    r = UBound(vao)
    ReDim ra(1 To r, 1 To 2)
    For i = 1 To UBound(vao)
        If Len(vao(i, 2)) >= 1 Then
            k = k + 1
            ra(k, 1) = vao(i, 1)
            ra(k, 2) = vao(i, 2)
        End If
    Next i
    rng.Clear
    sh.Range("A4").Resize(k, 2).Value = ra
    rng.Borders.LineStyle = 1
    
    Call dongucoi
    
End Sub
 
Upvote 0
Em có 1 file excel. File này em copy dữ liệu từ 1 file khác mà dữ liệu có công thức như thế này
Tại vùng B4:b22 có công thức nếu =IF(A4="","",A4) . Ví dụ như hình thì làm sao để bắt được vùng B7:B22 để Clear( Vùng này có giá trị là trống trống ). Tại vùng này thường xuyên thay đổi dữ liệu nên cần bắt vùng trống trống tự động. Em cảm ơn ạ

View attachment 235366
Dùng thử đoạn code này xem thế nào.
Mã:
Sub GPE()
Dim i%, j%
    i = Range("b1000000").End(xlUp).Row
    For j = 4 To i
        If Range("B" & j).Value = "" Then Exit For
    Next j
    Range("B" & j & ":B" & i).ClearContents
End Sub
 
Upvote 0
Dùng thử đoạn code này xem thế nào.
Mã:
Sub GPE()
Dim i%, j%
    i = Range("b1000000").End(xlUp).Row
    For j = 4 To i
        If Range("B" & j).Value = "" Then Exit For
    Next j
    Range("B" & j & ":B" & i).ClearContents
End Sub
cảm ơn bạn
Bài đã được tự động gộp:

Bạn thử chạy Sub Xoa_Trong_Trang , xem có được không ạ?

Mã:
Sub dongucoi()
    Dim i As Long, a As Long
    i = Range("a22").End(xlUp).Row
    a = Range("b22").End(xlUp).Row
    MsgBox (a & "    " & i)
End Sub

Sub Xoa_Trong_Trang()
   
    Dim vao As Variant, ra As Variant, sh As Worksheet
    Dim rng As Range, i As Long, r As Long, k As Long
    Set sh = ThisWorkbook.Worksheets("Sheet1")
    Set rng = sh.Range("A4:B22")
    vao = rng.Value
    r = UBound(vao)
    ReDim ra(1 To r, 1 To 2)
    For i = 1 To UBound(vao)
        If Len(vao(i, 2)) >= 1 Then
            k = k + 1
            ra(k, 1) = vao(i, 1)
            ra(k, 2) = vao(i, 2)
        End If
    Next i
    rng.Clear
    sh.Range("A4").Resize(k, 2).Value = ra
    rng.Borders.LineStyle = 1
   
    Call dongucoi
   
End Sub
cảm ơn anh
 
Upvote 0
Web KT

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

Back
Top Bottom