Cách xóa chữ trong Excel chỉ để lại ký tự số của chuỗi

Nội dung được viết bởi Bến Hà Trương

Giả sử bạn có một trang tính với nhiều dữ liệu như sau ABCD4578124YUIOH, bạn muốn xóa các chữ như ABCD, YUIOH và chỉ để lại các ký tự số trong chuỗi. Tất nhiên, bạn có thể xóa từng ký tự một, nhưng chúng mình sẽ hướng dẫn cách xóa chữ trong Excel và chỉ để lại ký tự số trong chuỗi tự động và ngược lại. Cùng xem nhé!

Cách xóa chữ trong Excel chỉ để lại ký tự số trong chuỗi bằng VBA

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

Bước 1: Bấm Developer -> Visual Basic để mở cửa sổ Microsoft Visual Basic cho ứng dụng. Trong cửa sổ Microsoft Visual Basic  for applications, bấm Insert -> Module, sau đó sao chép và dán đoạn mã sau vào modul:

Sub RemoveNotNum()
    'Updateby Extendoffice
    Dim Rng As Range
    Dim WorkRng As Range
    Dim xTitleId As String
    Dim xOut As String
    Dim xTemp As String
    Dim xStr As String
    Dim i As Integer
    
    On Error Resume Next
    xTitleId = "Excel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    On Error GoTo 0 ' Reset error handling
    
    If WorkRng Is Nothing Then Exit Sub ' User canceled
    
    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 Rng
End Sub

Bước 2: Sau đó, nhấp vào phím F5 để chạy code của bạn. Tất cả những ký tự không phải số trong phạm vi bạn chọn sẽ bị xóa như hình dưới đây:

Cách xóa chữ trong Excel bằng VBA
Cách xóa chữ trong Excel bằng VBA

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
    Dim xOut As String
    Dim xTemp As String
    Dim xStr As String
    Dim i As Integer
    
    On Error Resume Next
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", "Select Range", WorkRng.Address, Type:=8)
    On Error GoTo 0 ' Reset error handling
    
    If WorkRng Is Nothing Then Exit Sub ' User canceled
    
    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 Rng
End Sub

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

Cách xóa chữ trong ô Excel chứa dấu thập phân
Cách xóa chữ trong ô Excel chứa dấu thập phân

Cách xóa các ký tự số ra khỏi ô trong Excel

Bây giờ, bạn có một trang tính chứa rất nhiều thông tin dữ liệu chứa cả ký tự chữ cái và ký tự số. Bạn muốn giữ lại các ký tự chữ và loại bỏ các ký tự số cho tất cả các dữ liệu đó. Chẳng hạn như chuyển đổi James987den thành Jamesdenm, bạn phải làm thế nào?

Nếu bạn đã quen với mã VBA, bạn có thể sử dụng phương pháp sau:

Bước 1: Bấm Developer -> Visual Basic để mở cửa sổ Microsoft Visual Basic cho ứng dụng. Trong cửa sổ VBA, bấm Insert > Module, sau đó sao chép và dán đoạn mã sau vào modul:

Sub RemoveNum()
   ' Updateby20131129
   Dim Rng As Range
   Dim WorkRng As Range
   Dim xOut As String
   Dim xTemp As String
   Dim xStr As String
   Dim i As Integer
   
   On Error Resume Next
   Set WorkRng = Application.Selection
   Set WorkRng = Application.InputBox("Range", "Select Range", WorkRng.Address, Type:=8)
   On Error GoTo 0 ' Reset error handling
   
   If WorkRng Is Nothing Then Exit Sub ' User canceled
   
   For Each Rng In WorkRng
       xOut = ""
       For i = 1 To Len(Rng.Value)
           xTemp = Mid(Rng.Value, i, 1)
           If Not xTemp Like "[0-9.]" Then
               xStr = xTemp
           Else
               xStr = ""
           End If
           xOut = xOut & xStr
       Next i
       Rng.Value = xOut
   Next Rng
End Sub

Bước 2:  Nhấn F5 để chạy mã, sau đó bạn sẽ thu được bảng tính chứa các chuỗi đã bị xóa bỏ số.
 

Cách xóa các ký tự số ra khỏi ô trong Excel 1->Cách xóa các ký tự số ra khỏi ô trong Excel 2

Cách xóa các ký tự không phải chữ và số trong Excel

Giả sử có một dải dữ liệu, chẳng hạn như JAMES0898 # 4% ^ {}, bây giờ bạn chỉ muốn giữ lại các ký tự chữ và số (JAMES0898). Bạn có thể thực hiện một trong hai cách sau:

Xóa các ký tự không phải chữ và số bằng Hàm tùy chỉnh

Để xóa cá ký tự không cần thiết ra khỏi ô, bạn có thể tạo một hàm tùy chỉnh.

Bước 1: Bấm phím tắt Alt + F11 để mở trình VBA, sau đó nhấn Insert > Module và sao chép và dán đoạn mã sau vào modul:

Function DeleteNonAlphaNumeric(xStr As String) As String
    Dim xStrR As String
    Dim xCh As String
    Dim xStrMode As String
    Dim xInt As Integer
    
    xStrMode = "[A-Za-z0-9]" ' Chỉ số không dấu và không cần khoảng trắng
    
    xStrR = ""
    For xInt = 1 To Len(xStr)
        xCh = Mid(xStr, xInt, 1)
        If xCh Like xStrMode Then
            xStrR = xStrR & xCh
        End If
    Next
    
    DeleteNonAlphaNumeric = xStrR
End Function

Bước 2: Bây giờ quay lại trang tính, chọn một ô trống và nhập công thức sau: 

=DeleteNonAlphaNumeric(B3) 

Sau đó kéo xuống để áp dụng công thức này cho các ô khác. Ta thu được kết quả như sau: 

Xóa các ký tự không phải chữ và số bằng Hàm tùy chỉnh
xóa ký tự không phải chữ và số

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

Ngoài ra, bạn có thể sử dụng mã VBA ngắn sau đây để xóa các ký tự không phải chữ và số ra khỏi ô nhanh chóng:

Bước 1: Mở cửa sổ Microsoft Visual Basic trên ứng dụng Excel.

Bước 2: Bấm Insert > Module, sau đó sao chép và dán đoạn mã sau vào modul:

Sub RemoveNotAlphasNotNum()
    ' Updateby2014128
    Dim Rng As Range
    Dim WorkRng As Range
    Dim xOut As String
    Dim xTemp As String
    Dim xStr As String
    Dim i As Integer
    
    On Error Resume Next
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", "Select Range", WorkRng.Address, Type:=8)
    On Error GoTo 0 ' Reset error handling
    
    If WorkRng Is Nothing Then Exit Sub ' User canceled
    
    For Each Rng In WorkRng
        xOut = ""
        For i = 1 To Len(Rng.Value)
            xTemp = Mid(Rng.Value, i, 1)
            If xTemp Like "[a-zA-Z0-9.]" Then
                xStr = xTemp
            Else
                xStr = ""
            End If
            xOut = xOut & xStr
        Next i
        Rng.Value = xOut
    Next Rng
End Sub

Bước 3: Nhấn phím F5 hoặc nhấp vào nút Run để thực thi mã.

Bước 4: Sau đó, chọn một phạm vi bạn muốn xóa tất cả các ký tự không phải chữ và số trong hộp thoại bật lên và nhấp vào nút OK .

Bây giờ tất cả các ký tự không phải chữ và số đã bị xóa khỏi phạm vi đã chọn. 

Xóa các ký tự không phải chữ và số bằng mã VBA
tất cả các ký tự không phải chữ và số đã bị xóa khỏi phạm vi đã chọn

Như bạn thấy VBA không khó, nhưng có thể tối ưu tối đa hiệu suất thực hiện công việc và tiết kiệm thời gian. Vậy tại sao bạn không học VBA ngay để tự động hóa công việc hàng ngày hiệu quả. Bạn có thể tham khảo một số khóa học tại Gitiho sau:

Cách xóa các ký tự không thể in được trong Excel bằng hàm CLEAN

Nếu bạn làm việc với các tệp đến từ một nguồn không phải Excel hoặc bạn dán thông tin từ một ứng dụng khác vào các ô trang tính, đôi khi bạn có  một số ký tự không in được hoặc không hiển thị được trong trang tính của mình. 

Để làm cho trang tính của bạn sạch và đẹp hơn, bạn cần xóa các ký tự không cần thiết đó. Hàm CLEAN có thể xóa tất cả các ký tự không thể in ra khỏi ô. Ví dụ, tôi có Cột C (C2: C11) cần loại bỏ các ký tự không in được. Bạn có thể làm như hướng dẫn sau:

Bước 1: Chọn một ô trống D2 liền kề với C2 và nhập: 

=CLEAN(C2)

Bước 2: Nhấn phím Enter .

Bước 3: Và sau đó kéo công thức trong phạm vi ô mà bạn muốn xóa các ký tự không in được. 

Cách xóa các ký tự không thể in được trong Excel bằng hàm CLEAN
xóa các ký tự không thể in được trong Excel

Kết luận

Hy vọng qua bài viết này, bạn đã biết cách xóa chữ trong Excel hoặc các ký tự không cần thiết khác trong chuỗi. Để đọc thêm những mẹo và thủ thuật khác trong Excel bạn hãy truy cập Blog Excel của Gitiho nhé.

Gitiho chân thành cảm ơn bạn đọc!

KHÓA HỌC EXCEL ONLINE HOÀN TOÀN MIỄN PHÍ

Khóa học với hơn 14000 HỌC VIÊN đang học và đánh giá trung bình 4.76 SAO

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông