Cách xóa nội dung trong Excel không xóa công thức bằng VBA

Cách xóa nội dung trong Excel không xóa công thức bằng VBA

Lu-ca M

người điều hành

57,520Bài đăng1,493Hệ điều hànhWindows (x64)Phiên bản ExcelOffice 365

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


Bạn có thể sử dụng SpecialCells để giới hạn chỉ các hằng số

Mã số

.Cells(1).CurrentRegion.Offset(1, 1).SpecialCells(xlCellTypeConstants).ClearContents

Trân trọng,
Lu-ca M
=======
"Một ít kiến ​​thức là một điều nguy hiểm. "

Cách xóa nội dung trong Excel không xóa công thức bằng VBA

Lu-ca M

người điều hành

57,520Bài đăng1,493Hệ điều hànhWindows (x64)Phiên bản ExcelOffice 365

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


Hừm. Làm việc trên máy của tôi. bạn có thể hợp nhất các ô hay một số điều kỳ lạ khác không?

Trân trọng,
Lu-ca M
=======
"Một ít kiến ​​thức là một điều nguy hiểm. "

Cách xóa nội dung trong Excel không xóa công thức bằng VBA

Lu-ca M

người điều hành

57,520Bài đăng1,493Hệ điều hànhWindows (x64)Phiên bản ExcelOffice 365

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


Các ô được hợp nhất là khi bạn chọn nhiều ô trong trang tính của mình và nhấn nút "Hợp nhất và căn giữa". Mọi người có xu hướng sử dụng nó để làm cho mọi thứ trông đẹp mắt, nhưng thật đau đầu khi viết mã
"Một số điều kỳ lạ khác" có thể là những thứ như bảng tính được bảo vệ, các ô được lọc, v.v. Tôi không chắc tại sao mã không hoạt động với bạn, vì vậy chỉ cần kiểm tra các biến chứng có thể xảy ra
Đính kèm là nơi tôi đã kiểm tra mã

Các tập tin

Ví dụClean. xlsm 15. 02 kB – 221 lượt tải xuống

Trân trọng,
Lu-ca M
=======
"Một ít kiến ​​thức là một điều nguy hiểm. "

jindon

võ sĩ samurai

347,063Bài viết9,398

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


Sử dụng thẻ mã
[noparse]

Mã số

[/noparse]
vba code here
[noparse]

[/noparse]

jindon

võ sĩ samurai

347,063Bài viết9,398

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


Ahhh, tôi đã tìm thấy chúng


hàm tính tổng

Mã số

Sub test()
    Dim a
    With Sheets("audit sheet")
        a = .Range("b1", .Range("b" & Rows.Count).End(xlUp)).Value
        On Error Resume Next
        .Cells(1).CurrentRegion.Offset(1, 1).SpecialCells(2).ClearContents
        On Error GoTo 0
    End With
    Sheets("master").Range("a" & Rows.Count).End(xlUp)(2).Resize(, 15).Value = _
    Application.Transpose(Application.Index(a, [{59;60;61;14;23;29;36;38;39;40;41;47;53;58;57}], 0))
End Sub
Hiển thị thêm

vương quốc Anh

Người điều hành siêu hạng

809133,284Bài đăng26,393Hệ điều hànhWindows (x64)Phiên bản ExcelOffice 365

Lại. Mã VBA để xóa nội dung mà không xóa công thức hoặc định dạng


SpecialCells sẽ đưa ra lỗi nếu không tìm thấy ô nào đáp ứng loại đó trong phạm vi được chỉ định

Mã số

On Error Resume Next
       .Cells(1).CurrentRegion.Offset(1, 1).SpecialCells(xlCellTypeConstants).ClearContents
       On Error GoTo 0

Hy vọng rằng sẽ giúp


Roy


Người dùng mới nên đọc Nội quy diễn đàn trước khi đăng bài


Để có các công cụ và bài viết Excel miễn phí, hãy truy cập trang web của tôi


Kiểm tra trang web mới của tôi


Biểu mẫu cơ sở dữ liệu của royUK


Nơi để dán mã từ Diễn đàn


Về tôi