cách xóa cột bằng VBA (1 người xem)

Liên hệ QC

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

Hoacomay96

Thành viên chính thức
Tham gia
18/3/08
Bài viết
96
Được thích
8
em muốn hỏi các bác trên diễn đàn cách viết code để xóa các cột có dữ liệu trống.ví dụ có vùng dữ liệu Range("B8: L40", tìm các cells(40, i) = 0 thì xóa cả cột i đó đi , cột kế bên phải sẽ chèn vào vj trí cột i. Mong các bác mở rộng kiến thức cho em.
 
Lần chỉnh sửa cuối:
1> Quét chọn vùng B8:L40, đặt name là DS
2> Chạy code này:
PHP:
Sub DelCol()
    Range("DS").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
End Sub
Rất đơn giản code này tôi có dc do quá trình record macro... Tôi làm như sau:
1> Đặt name DS cho vùng cần làm việc
2> Bật chức năng Record macro lên
3> Trong hộp Namebox tôi gõ vào chử: DS , lập tức vùng DS sẽ dc chọn
4> Bấm Ctrl + G\Special\Blanks
5> Bấm Ctrl + dấu trừ (-), chọn vào mục "Entire Column" , OK
6> Tắt Record macroAlt + F11 vào xem code rồi chỉnh sửa đôi chút cho hoàn hảo!
ANH TUẤN
 
Upvote 0
Theo code của bác anhtuan thì sẽ xoá tất cả các cột có cell trắng. Bác có cách nào chỉ xoá những cột trống hoàn toàn không ạ?
 
Upvote 0
Theo code của bác anhtuan thì sẽ xoá tất cả các cột có cell trắng. Bác có cách nào chỉ xoá những cột trống hoàn toàn không ạ?
Mình dùng code cùi bắp này được không?
Mã:
Sub DelAllCol()
iRow = ActiveSheet.UsedRange.Rows.Count
iCol = ActiveSheet.UsedRange.Column
For i = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
    If iRow + ActiveSheet.UsedRange.Row - 1 = Columns(iCol + i - 1).SpecialCells(4).Rows.Count Then
        Columns(iCol + i - 1).Delete shift:=xlRight
    End If
Next
End Sub
Mã:
Sub DelAllRow()
iCol = ActiveSheet.UsedRange.Columns.Count
iRow = ActiveSheet.UsedRange.Row
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
    If iCol + ActiveSheet.UsedRange.Column - 1 = Rows(iRow + i - 1).SpecialCells(4).Columns.Count Then
        Rows(iRow + i - 1).Delete shift:=xlUp
    End If
Next
End Sub
 

File đính kèm

Upvote 0
Theo code của bác anhtuan thì sẽ xoá tất cả các cột có cell trắng. Bác có cách nào chỉ xoá những cột trống hoàn toàn không ạ?

Lấy 1 ví dụ đơn giản : Nếu cột chứa Cell hiện hành (Activecell) trống hoàn toàn thì xoá cột đó.

PHP:
If Worksheetfunction.CountA(ActiveCell.EntireColumn) = 0 Then ActiveCell.EntireColumn.Delete
 
Upvote 0
Gửi các admin
E có file mẫu đính kèm( abac.xlsm)
E muốn viết code VBA sub
Xóa các cột thỏa mãn điều kiện: Hàng 1:1 có giá trị nhỏ hơn 10 thì xóa. Lớn honw10 thì giữ
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom