tampt@stonevietnam
Thành viên mới
![](/diendan/data/PhoToDanhHieu/gold.gif)
- Tham gia
- 15/4/15
- Bài viết
- 49
- Được thích
- 2
B3 có giá trị là số nguyên thì sướng.=TEXT(B3,"0 0/0")
Thử bôi đen vùng dữ liệu, nhấp chuột phải, chọn format cells, rồi chọn Fraction coi đúng ý khôngGửi anh chị:
Anh chị giúp đỡ em chuyển dữ liệu dạng Number hệ inch sang dạng text (Fraction) hệ inch với ạ
File em gửi phía dứoi các anh chị xem giúp em với nhé
cám ơn anh chị ạ
View attachment 206364
Thôi đành sửa lạiB3 có giá trị là số nguyên thì sướng.
Thôi đành sửa lại
=TEXT(B3, "# ?/?")
Sao phải copy về dạng Text. Hàm Text làm rồi. Hay bạn muốn loại bỏ công thức trong cellsEm làm được rồi ạ. em cám ơn anh nhé
Điền công thức vào sau đó coppy về dạng Text là được ạ
Chúc cả nhà buổi tối vui vẽ
vâng anh. Em muốn loại bỏ công thức anh ạ. anh có cách nào hay hơn là coppy thì chỉ bảo em với ạSao phải copy về dạng Text. Hàm Text làm rồi. Hay bạn muốn loại bỏ công thức trong cells
dữ liệu như thế nào, bạn cho tôi xem, bao nhiêu cột bao nhiêu dòngvâng anh. Em muốn loại bỏ công thức anh ạ. anh có cách nào hay hơn là coppy thì chỉ bảo em với ạ
Em cám ơn anh nhiêu
Sub test_arrayFrac()
arrayFrac [U15:V22], [W15]
End Sub
Function arrayFrac(fromRng As Range, toRng As Range) As Variant
If fromRng Is Nothing Then Exit Function
Dim arr, dArr
If IsArray(fromRng) Then
arr = fromRng.Value
Dim i As Long, j As Long, m As Long, n As Long
On Error Resume Next
j = LBound(arr)
If err.Number = 0 Then n = UBound(arr) Else n = 1: On Error GoTo 0
On Error Resume Next
i = LBound(arr, 2)
If err.Number = 0 Then m = UBound(arr, 2) Else m = 1: On Error GoTo 0
ReDim dArr(1 To n, 1 To m)
For i = 1 To n
For j = 1 To m
dArr(i, j) = Application.Text(arr(i, j), "# ?/?")
Next j
Next i
arrayFrac = dArr
If Not toRng Is Nothing And Not IsArray(toRng) Then
toRng.Resize(n, m) = dArr
End If
Else
arrayFrac = Application.Text(fromRng, "# ?/?")
If Not toRng Is Nothing And Not IsArray(toRng) Then
toRng.Value = Application.Text(fromRng, "# ?/?")
End If
End If
End Function
dữ liệu như thế nào, bạn cho tôi xem, bao nhiêu cột bao nhiêu dòng
Không thì lấy cái này mà áp dụng:
cách dùng:
cách 1: arrayFrac <data double - cell đơn hoặc mảng>, <nơi in kết quả - là một cells đơn>
Cách 2:
arr = arrayFrac (<data double - cell đơn hoặc mảng>)
<sheetname>.cells(<tham số row>,<tham số cột>).resize(<tham số row arr>,<tham số cột arr>).value = arr
Function này duyệt cả mảng 1 chiều và 2 chiều. Tuy nhiên sẽ làm chậm macro vì dùng On Error Resume Next
<tham số row arr> và <tham số cột arr> phụ thuộc vào mảng đưa vào tùy trường hợp mà dùng ubound(arr) và ubound(arr, 2)
Mã:Sub test_arrayFrac() arrayFrac [U15:V22], [W15] End Sub Function arrayFrac(fromRng As Range, toRng As Range) As Variant If fromRng Is Nothing Then Exit Function Dim arr, dArr If IsArray(fromRng) Then arr = fromRng.Value Dim i As Long, j As Long, m As Long, n As Long On Error Resume Next j = LBound(arr) If err.Number = 0 Then n = UBound(arr) Else n = 1: On Error GoTo 0 On Error Resume Next i = LBound(arr, 2) If err.Number = 0 Then m = UBound(arr, 2) Else m = 1: On Error GoTo 0 ReDim dArr(1 To n, 1 To m) For i = 1 To n For j = 1 To m dArr(i, j) = Application.Text(arr(i, j), "# ?/?") Next j Next i arrayFrac = dArr If Not toRng Is Nothing And Not IsArray(toRng) Then toRng.Resize(n, m) = dArr End If Else arrayFrac = Application.Text(fromRng, "# ?/?") If Not toRng Is Nothing And Not IsArray(toRng) Then toRng.Value = Application.Text(fromRng, "# ?/?") End If End If End Function