Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để xóa các ký tự không phải số khỏi ô trong Excel?

Giả sử bạn có một trang tính với nhiều dữ liệu như vậy ABCD4578124YUIOHvà bạn chỉ muốn xóa các ký tự không phải số  ABCDYUIOH nhưng vẫn giữ các ký tự số trong ô. Tất nhiên, bạn có thể xóa từng ký tự đó, nhưng ngay tại đây, bạn có thể xóa các ký tự không phải số khỏi ô một cách nhanh chóng như sau:

Xóa các ký tự không phải số bằng mã VBA

Một công cụ tiện dụng để xóa các ký tự không phải số chỉ với một cú nhấp chuột


Xóa các ký tự không phải số bằng mã VBA

Để xóa các ký tự không phải số khỏi một dải ô có mã VBA, vui lòng thực hiện như sau:

1. Nhấp chuột Nhà phát triển > Visual Basic để mở Microsoft Visual Basic cho các ứng dụng cửa sổ. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun, sau đó sao chép và dán các mã sau vào mô-đun:

VBA: Xóa tất cả các ký tự không phải số

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. Sau đó nhấp vào để chạy mã, Trong cửa sổ bật lên KutoolsforExcel hộp thoại, chọn một dải ô có các ký tự không phải số bạn muốn xóa, rồi bấm vào OK cái nút. Xem ảnh chụp màn hình:

doc xóa các ký tự không phải số 1 bản sao

3. Sau đó, tất cả các ký tự không phải số trong phạm vi đã chọn sẽ bị xóa.

doc xóa các ký tự không phải số 2

Nếu các số có dấu thập phân, bạn có thể sử dụng VBA sau:

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

Bạn có thể xem kết quả như ảnh chụp màn hình dưới đây:

doc xóa các ký tự không phải số 3


Một công cụ tiện dụng để xóa các ký tự không phải số chỉ với một cú nhấp chuột

Để xóa các ký tự không phải số trong một dải ô, Kutools cho Excel'S Xóa ký tự tiện ích có thể thực hiện nó với một cú nhấp chuột.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. 

Sau khi cài đặt Kutools cho Excel, vui lòng làm như dưới đây:

1. Đánh dấu phạm vi bạn muốn xóa các ký tự không phải số. Nhấp chuột Kutools > bản văn > Xóa ký tự.

doc xóa các ký tự không phải số 4

2. Trong Xóa ký tự hộp thoại, kiểm tra Không phải số tùy chọn trong Xóa ký tự và sau đó bấm vào OK or Đăng Nhập cái nút. Và các ký tự không phải số sẽ bị loại bỏ khỏi vùng chọn ngay lập tức. Xem ảnh chụp màn hình:

doc xóa các ký tự không phải số 5

Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay!

Để biết thêm thông tin về Xóa ký tự của Kutools cho Excel, vui lòng truy cập Loại bỏ các ký tự mô tả tính năng.


Demo: Xóa các ký tự số, chữ cái, không in được hoặc chữ và số khỏi ô

Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (13)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
mã mẫu cho nhận xét
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cảm ơn bạn đã làm việc tốt
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sẽ không tốt hơn nếu thay thế phương thức input-box bằng cách chỉ đặt WorkRng như thế này: Đặt WorkRng = Intersect (ActiveSheet.UsedRange, Selection) theo cách đó nếu người dùng chọn toàn bộ cột, nó sẽ không tạo ra bất kỳ lỗi nào.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt vời đã làm việc TUYỆT VỜI !!!!!!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ồ. điều đó đã hoạt động, chính xác những gì tôi cần. Thanks,
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã gặp lỗi khi nhấn nút> chạy trong trình phát triển: Lỗi biên dịch: Dự kiến: kết thúc câu lệnh và từ "không" ở dạng không phải số được đánh dấu
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sử dụng Formaula này để thay thế ký tự hiện có bằng ký tự mới = SUBSTITUTE (text, old_text, new_text, [instance_num]) cho ex- = SUBSTITUTE (TRIM (G1), "/", "") Chúc các bạn Lễ Phục sinh 2015 vui vẻ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thanx Guys vì một công việc tốt đẹp như vậy. Kịch bản thật tuyệt vời và nó hoạt động hiệu quả. Giữ nó lên các bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chỉ muốn cho bạn biết rằng nếu chuỗi bắt đầu bằng (các) số 0060100 hoặc bắt đầu bằng các chữ cái, theo sau là (các) số 60100, theo sau là phần còn lại của chuỗi thì điều này sẽ xóa tất cả các số 057726 bắt đầu. Điều này rất kỳ lạ vì nó không loại bỏ (các) số 57726 nếu chúng nằm giữa các số khác XNUMX trong chuỗi, chỉ khi chúng bắt đầu chuỗi hoặc là các số đầu tiên sau các chữ cái đầu tiên trong chuỗi. Ví dụ. XNUMX sẽ xuất hiện dưới dạng XNUMX PFFXNUMX sẽ xuất hiện dưới dạng XNUMX. Hãy cho tôi biết nếu bạn có lời giải thích cho điều này và có thể nghĩ ra giải pháp. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Gửi cho tôi nó trên id email của tôi
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi muốn sử dụng macro này nhưng muốn xác định trước một phạm vi. Bạn có thể vui lòng cho tôi biết làm thế nào để xác định trước phạm vi. Cảm ơn, Samit
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
VBA hoạt động tuyệt vời. Tôi đã sửa đổi nó để luôn hoạt động trên một cột, như được hiển thị:

Đối với mỗi ô trong phạm vi ("B2: B" & ActiveSheet.UsedRange.Rows.Count)

xOut = ""

For i = 1 To Len (Cell.Value)

xTemp = Mid (Cell.Value, i, 1)

Nếu xTemp Like "[0-9]" thì

xStr = xNhiệt độ

Khác

xStr = ""

Cuối Nếu

xOut = xOut & xStr

Tiếp theo

Cell.Value = xOut

Sau

Tôi cũng sử dụng điều này để sắp xếp một cột theo chữ số cuối cùng, thay đổi phần cuối cùng thành Cell.Value = Right (xOut, 1) sau đó sắp xếp nó theo số.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
HI Cảm ơn bạn đã viết mã, tôi nhận được lỗi cú pháp được đánh dấu trên For i = 1 To Len (Rng.Value) và phần gỡ lỗi Sub RemoveNotNum () được tô màu vàng .. vui lòng cho tôi lời khuyên.
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL