Chuyển đổi những giá trị Text thành số

Excel có thể được dùng để thu thập danh sách dữ liệu từ những nguồn dữ liệu khác nhau . Nhiều người có thể dán dữ liệu họ đã sao chép từ những bản báo cáo và các chương trình khác .

Điều này có thể có vấn đề khi một số giá trị số lại xuất hiện dưới dạng Text . Điều đó có thể gây ra những lỗi khi tính toán .

Ví dụ như hình dưới

 

\"hinh1\"

 

Việc chuyển từ Text sang số có nhiều cách , ví dụ như bấm chuột phải vào ô đó , chọn Format Cells , chọn Number . Tuy nhiên những việc chuyển đổi như vậy nhiều khi không có tác dụng . Vì thế bạn có thể dùng một Macro bên dưới để thực hiện việc này

 

Sub MyConvNum()

Dim Bcell As Range, MyValErr As String, MyVal As Double
Dim ActSheet As Worksheet, SelRange As Range

On Error GoTo MyErrBit
Set ActSheet = ActiveSheet
Set SelRange = Selection

For Each Bcell In SelRange
If WorksheetFunction.IsNumber(Bcell.Value) Then
  Bcell.Font.Bold = False
Else
  MyValErr = \"N\"
  MyVal = CDbl(Bcell.Value)
  If MyValErr = \"N\" Then
    If Not IsEmpty(Bcell) Then
      Bcell.Value = MyVal
    End If
  Else
    Bcell.Font.Bold = True
  End If
End If
Next Bcell

MyErrBit:
MyValErr = \"Y\"
Resume Next
End Sub

 

Bôi đen toàn bộ những ô cần chuyển đổi , rồi bạn chạy Macro có tên gọi MyConvNum , sẽ được như hình dưới

 

\"hinh2\"