Macro excel xóa nội dung ô nếu không

Robert muốn một macro tìm thấy tất cả các phiên bản của các ô trong bảng dữ liệu có giá trị bằng 0 và sau đó xóa các ô đó. Anh ấy tự hỏi làm thế nào để làm điều này

Với mục đích của thủ thuật này, tôi sẽ giả định rằng Robert thực sự muốn xóa các giá trị trong các ô chứ không thực sự xóa các ô. Hơn nữa, tôi sẽ cho rằng anh ấy không muốn chỉ ẩn các giá trị 0, vì có thể dễ dàng thực hiện với một thay đổi cài đặt đơn giản trong Excel. (Cách bạn thực hiện việc này đã được trình bày trong các Thủ thuật Excel khác. )

Thực tế, có một số cách bạn có thể thực hiện để loại bỏ các giá trị 0 của mình. Một cách thậm chí không sử dụng macro mà thay vào đó dựa vào khả năng Tìm và Thay thế của Excel

  1. Nhấn Ctrl + H. Excel hiển thị tab Thay thế của hộp thoại Tìm và Thay thế
  2. Nhấp vào nút Tùy chọn để mở rộng hộp thoại. (Xem Hình 1. )
  3. Macro excel xóa nội dung ô nếu không

    Hình 1. Tab Thay thế mở rộng của hộp thoại Tìm và Thay thế

  4. Trong hộp Find What, nhập 0
  5. Đảm bảo hộp Thay thế bằng trống
  6. Chọn hộp kiểm Khớp toàn bộ nội dung ô
  7. Nhấn Replace All để thực hiện thay thế

Bạn thậm chí có thể, nếu muốn, dịch các bước trên thành một macro nhỏ ngắn

Sub ReplaceZeros()
    Cells.Replace What:="0", Replacement:="", _
      LookAt:=xlWhole, SearchOrder:=xlByRows
End Sub

Có một giới hạn đối với những gì phương pháp này sẽ thực hiện, đáng chú ý nhất là nó sẽ chỉ thay thế các ô thực sự chứa giá trị 0. Nó sẽ không thay thế các công thức phân giải thành 0. Chẳng hạn, nếu một ô chứa công thức =4-4, công thức này sẽ phân giải thành 0, thì thao tác Tìm và Thay thế sẽ bỏ qua nó vì thực tế không có giá trị 0 trong ô

Nếu bạn muốn thứ gì đó thực sự sẽ xóa các ô chứa 0 hoặc phân giải thành 0, thì bạn sẽ cần một cách tiếp cận macro khác. Đây là một cái tốt

Sub DeleteZeroes()
    Dim rCell As Range

    For Each rCell In Selection
        If rCell.Value = 0 Then
            rCell.ClearContents
        End If
    Next
End Sub

Để sử dụng macro, chỉ cần chọn các ô bạn muốn tác động và sau đó chạy macro. Nó xem qua từng ô được chọn và loại bỏ nội dung của bất kỳ ô nào chứa giá trị 0—và trong trường hợp này, nó cũng bao gồm mọi công thức giải quyết thành 0

Nếu bạn muốn xóa nhiều phạm vi khỏi một trang tính bằng một câu lệnh xóa duy nhất, bạn có thể sử dụng phương pháp bên dưới

Sheets("SheetA").Range("A3:B10", "C2:D10").Clear

Nếu tôi đúng, bạn muốn đặt các câu lệnh kéo trong một câu lệnh duy nhất.
Dưới đây là mã để xóa hai phạm vi.

Sheets("SheetA").Range("A3:B10").Clear
Sheets("SheetB").Range("C2:D10").Clear

Bạn có thể dùng ". ” để nối các câu lệnh VBA

Sheets("SheetA").Range("A3:B10").Clear: Sheets("SheetB").Range("C2:D10").Clear

Hy vọng điều này sẽ hữu ích.
Cảm ơn-PNRao

  • James Tháng Tám 7, 2015 tại 7. 43 giờ chiều

    Tôi có một danh sách trong đó một số giá trị ô bắt đầu bằng một chữ cái và một số bắt đầu bằng số. Làm cách nào tôi có thể sử dụng hàm xóa để xóa các ô bắt đầu bằng một chữ cái nhưng để lại những ô bắt đầu bằng một số? . ngoài ra một số là chữ hoa và một số là chữ thường (không chắc điều này có quan trọng không)
    cảm ơn

    Giacôbê

  • PNRao Tháng Tám 7, 2015 lúc 7. 57 giờ chiều

    Chào James,

    Macro bên dưới kiểm tra ký tự đầu tiên của mỗi ô trong một phạm vi nhất định và xóa nếu nó không phải là số

    Sub sbClearCellsIFCritera()
    
    Set Rng = Range("F1:F20") ' change this range as per your requirement
    For Each cell In Rng.Cells
        If IsNumeric(Left(cell, 1)) = False Then
            cell.Clear
        End If
    Next
    
    End Sub
    

    Thanks-PNRao

  • ravindra Tháng Tám 22, 2015 tại 10. 40 giờ tối

    Tôi muốn lấy dữ liệu từ sổ làm việc này sang sổ làm việc khác bằng cách sử dụng mã hóa VBA. Vì vậy, bạn có thể xin vui lòng giúp tôi

  • PNRao Tháng tám 23, 2015 tại 2. 10 giờ sáng

    Xin chào Ravindra,
    Bạn có thể sử dụng lệnh Sao chép như minh họa bên dưới.

    Workbooks("Book1").Sheets("Sheet1").Range("A1:B10").Copy _
    Destination:=Workbooks("Book2").Sheets("Sheet1").Range("E1")
    

    Thanks-PNRao

  • Brad Bouchaud Tháng Mười Một 6, 2015 lúc 7. 47 giờ sáng

    Xin chào và cảm ơn trước.
    Tôi có một Danh sách gồm 3 mục mỗi hàng trong một Trang tính có 30 hàng như vậy và một nút bên cạnh mỗi hàng để chạy Macro nhằm xóa nội dung khi được yêu cầu.
    Các macro khác thực hiện các chức năng trên dữ liệu trong danh sách.
    Thật không may, tôi đang sử dụng. ActiveCell dường như không phát hiện ra tôi đang ở trong Ô có nút nhưng đang sử dụng ô cuối cùng mà tôi đã ở đó, có ý tưởng nào về cách tôi có thể xóa nội dung của 3 ô bên cạnh các nút mà không cần viết 30 macro khác nhau không?

  • Kyle Minnett Tháng Ba 2, 2016 tại 1. 34 giờ sáng

    Nếu tôi muốn xóa một phạm vi ô có thể thay đổi dựa trên một đầu vào cụ thể, tôi sẽ làm điều này như thế nào?

    ví dụ: giả sử tôi đang chạy mã điền vào ô e5. e10 dựa trên một biến đầu vào mà tôi đã chọn. sau đó tôi quyết định rằng tôi muốn thay đổi biến đầu vào đó và bằng cách thay đổi nó, phạm vi dữ liệu của tôi sẽ chạy từ ô e5. e9. tuy nhiên vì tôi vừa chạy một phép tính tạo ra một phạm vi từ e5. e10 giá trị trong ô e10 vẫn hiện diện với phạm vi mới ( tôi muốn xóa nội dung trong ô e10)…. tôi hy vọng điều này không quá khó hiểu

  • Venkata Naidu M 31 Tháng Năm, 2016 lúc 12. 38 giờ chiều

    Tôi muốn xóa dữ liệu không có công thức khỏi trang tính đang hoạt động

    Hãy giúp tôi…

  • PNRao Tháng Sáu 4, 2016 lúc 9. 44 giờ chiều

    Xin chào Venkat, Bạn có thể sử dụng Activesheet. tế bào. Xóa Phương thức xóa toàn bộ trang tính (Activesheet)

    Thanks-PNRao

  • Anas Ahmad Tháng Bảy 19, 2016 lúc 12. 34 giờ chiều

    Chào mọi người,

    Tôi muốn xóa phạm vi dữ liệu cụ thể khỏi các ô

    Ví dụ. Các ô chỉ có 0 và giá trị trên 5000 từ toàn bộ trang tính

    Bạn có thể gợi ý cho tôi cách cung cấp mã hóa không

  • ASAD Tháng Tám 12, 2016 lúc 5. 38 giờ chiều

    cách sử dụng hộp kiểm để xóa và xóa ô

  • PNRao Tháng Tám 14, 2016 lúc 11. 35 giờ chiều

    Chúng ta có thể sử dụng. Xóa phương thức để xóa các ô nhưng chúng tôi không thể có phương thức hoàn tác/bỏ xóa các ô đã xóa.
    Mã bên dưới sẽ bị xóa khi bạn chọn hộp kiểm.

    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
        Cells.Clear
    End If
    End Sub
    

    Thanks-PNRao

  • Pranav Roy 28 Tháng 10, 2016 lúc 10. 32 giờ chiều

    Xin chào.
    Tôi mới lập trình macro
    Cách viết macro với tham chiếu tương đối có thể xóa/xóa nội dung sau một ô cụ thể. Đó là nếu một ô được chọn và macro được bắt đầu, nó sẽ xóa các giá trị hoặc định dạng cho ô đã cho (ví dụ 12). Có thể theo hàng hoặc theo cột.

  • Donna Tháng Mười Một 2, 2016 tại 6. 40 giờ chiều

    Tôi có một sổ làm việc có nhiều trang tính (hơn 200 trang tính) và tôi muốn xóa nội dung trong các ô cụ thể (giống nhau trên tất cả các trang tính) trong sổ làm việc. Làm thế nào tôi có thể làm điều đó mỗi tờ được đặt tên với 4 chữ số cuối của mỗi số VIN.
    Tôi sẽ sử dụng mã nào?

  • srinivas Tháng Một 7, 2017 tại 5. 11 giờ tối

    hi
    Tôi muốn mã macro này
    một ô đầu tiên của trang tính excel đến sáu ô, nhập chữ cái “p”, sau đó ô thứ bảy tự động hiển thị “wp
    please tell me this vba code

  • Himani Tháng Một 10, 2017 tại 4. 12 giờ trưa

    Xin chào,
    Có cách nào để xóa dữ liệu của các hàng chọn lọc khỏi nhiều trang tính mà vẫn giữ nguyên định dạng và công thức không??

    Cảm ơn
    Himani

  • trang Tháng Một 11, 2017 tại 10. 49 giờ sáng

    Xin chào Anas,
    Tôi có cùng một thắc mắc – nó rất khó.
    bạn đã tìm ra giải pháp chưa?

    Cảm ơn bạn PNRao cho tất cả mọi thứ cho đến nay

  • Tháng Tư 25 Tháng Một, 2017 lúc 5. 34 giờ chiều

    Tôi muốn xóa các giá trị được trả về trong một dải ô nhưng tôi muốn giữ nguyên công thức đã nhập trong các ô. Có cách nào làm được việc này không?

  • Nasiba Tháng hai 17, 2017 tại 12. 56 giờ sáng

    Xin chào,

    Làm cách nào để xóa nội dung của nhiều tab? . N”) cột từ 5 trang tính khác nhau

  • Yaried Tháng Năm 29, 2017 lúc 2. 27 giờ sáng

    chào mọi người, tôi có một mẫu excel và tôi có một chương trình xóa dữ liệu nhưng tôi cũng muốn thêm một tùy chọn có xóa dữ liệu hay không, tức là tùy chọn có không nếu người dùng nhấn nút không . bạn có thể vui lòng gửi thư cho tôi không
    cảm ơn vì sự hợp tác của bạn

  • Chittaranjan Tháng sáu 20, 2017 tại 4. 52 giờ chiều

    Chào mọi người,

    Cần trợ giúp về một điều, Bất cứ khi nào tôi mở Excel có chứa macro đều xảy ra lỗi “Macro cảnh báo bảo mật đã bị vô hiệu hóa. Kích hoạt nội dung”. Sau khi nhấp vào nút Kích hoạt nội dung, excel mở theo cách tốt.
    Bây giờ tôi phải tắt bất kỳ giá trị ô nào hoặc thay đổi màu thành trong khi, giả sử ô F5 có dòng chữ “Chúc may mắn” có màu đen. Tôi ghi lại macro để thay đổi nó thành màu trắng/nó nên bị vô hiệu hóa. VÂNG.

    Câu hỏi của tôi là, bất cứ khi nào chúng tôi nhấp vào nút Bật nội dung, màu văn bản “Chúc may mắn” của ô F5 sẽ chuyển thành màu trắng/biến mất

    Vậy phải làm như thế nào, cần giúp đỡ

  • Veasna Tháng Mười Hai 27, 2017 lúc 2. 23 giờ chiều

    Xin chào bạn,

    tôi cần sự giúp đỡ từ bạn. Tôi muốn xóa toàn bộ nội dung trang tính. Nhưng chỉ nội dung lấp đầy không phải nội dung được tạo theo công thức

  • Joseph Tháng Năm 11, 2020 tại 10. 08 giờ tối

    Tôi cần tìm cách xóa một tập hợp các hàng bên dưới hàng tiêu đề của mình. e. g. HeaderRow+1, (Không biết đặt gì ở đây). Xóa nội dung