Giúp Em Hàm VBA Tách Số Thập Phân Ra Khỏi Chuỗi? | Giải Pháp Excel

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Giúp em hàm VBA tách số thập phân ra khỏi chuỗi? (1 người xem)
  • Thread starter Thread starter Duong_VBA
  • Ngày gửi Ngày gửi 6/2/09
Liên hệ QC

Người dùng đang xem chủ đề này

Đang trực tuyến: 2 (Thành viên: 0, Khách: 2) Duong_VBA

Duong_VBA

Thành viên chính thức
Tham gia 10/11/07 Bài viết 89 Được thích 26 Nhờ các bác chỉ giúp hàm VBA tách số thập phân trong 1 chuỗi ví dụ: "3,4 5 5,6 8 m 0,5" vào các cột tương ứng là: 3,4 - 5 - 5,6 - 8 - 10- 0,5. Với quy ước m là 10, giữa các số có ít nhất 1 dấu cách và nếu nhập"3, 4 5 5,6 8 m 0,5" hoặc "3,4 5 5,6 8 m 0 ,5" thì báo sai vì sau dấu thập phân có dấu cách. Các bác xem file đính kèm (Em nghĩ khi không có dấu cách thì không thể tách được theo đúng ý) Cảm ơn!

File đính kèm

  • Tach_so_thap_phan.xls Tach_so_thap_phan.xls 16.5 KB · Đọc: 31
Lần chỉnh sửa cuối: 6/2/09 Sắp xếp theo thời gian sắp xếp theo bầu chọn cadafi

cadafi

Hành động từ trái tim
Administrator Tham gia 27/5/07 Bài viết 4,297 Được thích 11,387 Donate (Paypal) Donate Giới tính Nam Nghề nghiệp Business Man
Duong_VBA đã viết: Nhờ các bác chỉ giúp hàm VBA tách số thập phân trong 1 chuỗi ví dụ: "3,4 5 5,6 8 m 0,5" vào các cột tương ứng là: 3,4 - 5 - 5,6 - 8 - 10- 0,5. Với quy ước m là 10, giữa các số có ít nhất 1 dấu cách và nếu nhập"3, 4 5 5,6 8 m 0,5" hoặc "3,4 5 5,6 8 m 0 ,5" thì báo sai vì sau dấu thập phân có dấu cách. Các bác xem file đính kèm (Em nghĩ khi không có dấu cách thì không thể tách được theo đúng ý) Cảm ơn! Nhấp chuột vào đây để mở rộng...
Không cần VBA để giải quyết vấn để của bạn đâu! Bạn dùng công cụ Text to column của excel (Vào Data/Text to column)! Vọc thử vài ví dụ là ra ngay! Upvote 0 Duong_VBA

Duong_VBA

Thành viên chính thức
Tham gia 10/11/07 Bài viết 89 Được thích 26 Text to column không làm được bạc ạ! Vì cột đã cố định (Bảng điểm) và chữ m nó không hiểu là 10, khi gõ sai dấu thập phân nó cũng cứ tách.... Upvote 0 ptlong04x1

ptlong04x1

Thành viên tích cực
Tham gia 15/10/08 Bài viết 1,031 Được thích 1,531 Nghề nghiệp Kỹ sư xây dựng
Duong_VBA đã viết: Nhờ các bác chỉ giúp hàm VBA tách số thập phân trong 1 chuỗi ví dụ: "3,4 5 5,6 8 m 0,5" vào các cột tương ứng là: 3,4 - 5 - 5,6 - 8 - 10- 0,5. Với quy ước m là 10, giữa các số có ít nhất 1 dấu cách và nếu nhập"3, 4 5 5,6 8 m 0,5" hoặc "3,4 5 5,6 8 m 0 ,5" thì báo sai vì sau dấu thập phân có dấu cách. Các bác xem file đính kèm (Em nghĩ khi không có dấu cách thì không thể tách được theo đúng ý) Cảm ơn! Nhấp chuột vào đây để mở rộng...
Mình thấy nếu không có dấu cách như bạn nói thì vẫn có thể tách được đúng ý, trong Text to columns cho phép chúng ta đặt vị trí phân cách vào bất kỳ vị trí nào trong chuỗi. Upvote 0 cadafi

cadafi

Hành động từ trái tim
Administrator Tham gia 27/5/07 Bài viết 4,297 Được thích 11,387 Donate (Paypal) Donate Giới tính Nam Nghề nghiệp Business Man
Duong_VBA đã viết: Text to column không làm được bạc ạ! Vì cột đã cố định (Bảng điểm) và chữ m nó không hiểu là 10, khi gõ sai dấu thập phân nó cũng cứ tách.... Nhấp chuột vào đây để mở rộng...
1. Ctrl+H, tìm tất cả các chuỗi " ," rồi đổi thành "," và ", " đổi thành "," 2. Sau đó dùng Text to Column. Còn chữ m thì đơn giản rồi! Tìm tất cả chữ "m" và thay bằng 10 là xong (Ctrl+H)! Lần chỉnh sửa cuối: 6/2/09 Upvote 0 Po_Pikachu

Po_Pikachu

[email protected]
Tham gia 29/4/08 Bài viết 2,209 Được thích 3,572 Nghề nghiệp #VALUE! Muốn dùng VBA thì bạn làm dùng code sau: PHP: Sao chép. Function tach(so As String, Optional vitri As Integer = 1) Dim mang() As String so = Replace(so, ",", Application.International(xlDecimalSeparator)) mang() = Split(so, " ") ReDim Preserve mang(0 To 3) tach = Val(IIf(mang(vitri - 1) = "m", 10, mang(vitri - 1))) End Function Nhưng có 1 điều kiện là bạn phải tách riêng từng số ra bằng 1 dấu cách. Chứ nếu cái có cái không thì làm không được đâu. Thân.

File đính kèm

  • Tach_so_thap_phan.xls Tach_so_thap_phan.xls 28 KB · Đọc: 48
Lần chỉnh sửa cuối: 7/2/09 Upvote 0 ndu96081631

ndu96081631

Huyền thoại GPE
Thành viên BQT Super Moderator Tham gia 5/6/08 Bài viết 30,703 Được thích 53,981
Po_Pikachu đã viết: Muốn dùng VBA thì bạn làm dùng code sau: PHP: Sao chép. Function tach(so As String, Optional vitri As Integer = 1) Dim mang() As String so = Replace(so, ",", ".") mang() = Split(so, " ") ReDim Preserve mang(0 To 3) tach = Val(IIf(mang(vitri - 1) = "m", 10, mang(vitri - 1))) End Function Nhưng có 1 điều kiện là bạn phải tách riêng từng số ra bằng 1 dấu cách. Chứ nếu cái có cái không thì làm không được đâu. Thân. Nhấp chuột vào đây để mở rộng...
Ấy... Cái này: so = Replace(so, ",", ".") không ổn à nha! Sao bạn biết chắc rằng trên máy người ta xài dấu thập phân là dấu chấm! Chắc ăn phải là so = Replace(so, ",", Application.International(xlDecimalSeparator)) Upvote 0 Duong_VBA

Duong_VBA

Thành viên chính thức
Tham gia 10/11/07 Bài viết 89 Được thích 26 +Thêm cái này để dù có bao dấu cách cũng được. so = Application.WorksheetFunction.Trim(so) + Ở hàm trên phải tách riêng từng số ra bằng 1 dấu cách. Các bác xem có cách nào cho trường hợp số nguyên nhập liên nhau không có dấu cách (để nhanh) mà vẫn tách đúng không? Upvote 0 solomon2211

solomon2211

Thành viên tích cực
Tham gia 25/11/08 Bài viết 1,122 Được thích 4,497 Nghề nghiệp Tài chính - Kế toán Trường hợp điểm số là: 10 2 0 5 thì hiển thị thế nào? có phải "m2 5". Và điểm 0 5.5 2 1 thì hiển thị " 5,5 21"? Lần chỉnh sửa cuối: 7/2/09 Upvote 0 ndu96081631

ndu96081631

Huyền thoại GPE
Thành viên BQT Super Moderator Tham gia 5/6/08 Bài viết 30,703 Được thích 53,981
Duong_VBA đã viết: +Thêm cái này để dù có bao dấu cách cũng được. so = Application.WorksheetFunction.Trim(so) + Ở hàm trên phải tách riêng từng số ra bằng 1 dấu cách. Các bác xem có cách nào cho trường hợp số nguyên nhập liên nhau không có dấu cách (để nhanh) mà vẫn tách đúng không? Nhấp chuột vào đây để mở rộng...
Nếu trong chuổi có 1 nhóm số được nhập liên tiếp nhau (không có dấu cách) thì xem cái này: Tách số không dùng vòng lập Còn với bài toán trên thì đúng là cần phải dùng TRIM Mã: Sao chép. so = WorksheetFunction.Trim(Replace(so, ",", Application.International(xlDecimalSeparator))) Upvote 0 Po_Pikachu

Po_Pikachu

[email protected]
Tham gia 29/4/08 Bài viết 2,209 Được thích 3,572 Nghề nghiệp #VALUE! Cái TRIM chỉ dùng để cho việc ghi thừa khoảng cách thôi chứ đâu có tác dụng nhiều đâu! PHP: Sao chép. Function tach(so As String, Optional vitri As Integer = 1) Dim mang() As String so = Trim(Replace(so, ",", Application.International(xlDecimalSeparator))) i = InStr(1, so, Application.International(xlDecimalSeparator)) Select Case i Case Is <> 0: mang() = Split(so, " ") ReDim Preserve mang(0 To 3) tach = Val(IIf(mang(vitri - 1) = "m", 10, mang(vitri - 1))) Case Is = 0: ReDim Preserve mang(0 To 3) For i = 1 To 4 mang(i - 1) = Mid(so, i, 1) Next tach = Val(IIf(mang(vitri - 1) = "m", 10, mang(vitri - 1))) End Select End Function Em viết code như vầy đề sử lý trường hợp viết liền nè! Thân.

File đính kèm

  • Tach_so_thap_phan01.xls Tach_so_thap_phan01.xls 30 KB · Đọc: 48
Upvote 0 Duong_VBA

Duong_VBA

Thành viên chính thức
Tham gia 10/11/07 Bài viết 89 Được thích 26 Cảm ơn bác Po_Pikachu. Trường hợp cuối nhập 5,5 7,5 7 8,5 (Có các dấu cách) khi mở file của bác thì tách đúng nhưng khi Click kép vào ô nó chỉ còn phần nguyên là: 5 7 7 và 8 tại sao vậy bác. Bác chỉ giúp trường hợp có cả 2 loại số thập phân và nguyên xếp liền nhau nhé! Upvote 0 Po_Pikachu

Po_Pikachu

[email protected]
Tham gia 29/4/08 Bài viết 2,209 Được thích 3,572 Nghề nghiệp #VALUE! Cái này thì bác thử định dạng lại là General trong Format Cells xem. Có thể do định dạng không phù hợp thôi. Còn đây là file bổ sung thêm phần viết liền không dấu cách nè! Thân.

File đính kèm

  • Tach_so_thap_phan02.xls Tach_so_thap_phan02.xls 29.5 KB · Đọc: 40
Lần chỉnh sửa cuối: 7/2/09 Upvote 0 Nguyen Tien

Nguyen Tien

Thành viên mới
Tham gia 27/1/08 Bài viết 2 Được thích 18 Giới tính Nam Nghề nghiệp Giáo viên Bạn có thể dùng cái này của mình thì làm xong dễ thôi mà

File đính kèm

  • Tien ich Excel.rar Tien ich Excel.rar 539 KB · Đọc: 88
Lần chỉnh sửa cuối: 7/2/09 Upvote 0 T

tuyetbay

Thành viên hoạt động
Tham gia 23/1/08 Bài viết 154 Được thích 179 Thì bạn phải đưa cách lên chứ! Cứ đưa lên thoải mái đi. Chúng ta cùng học hỏi lẩn nhau. Thân. Upvote 0 L

Lannguyen3960

Thành viên mới
Tham gia 3/6/16 Bài viết 2 Được thích 0 Nhờ mọi người giúp đỡ VBA tách số thập phân ra khỏi chuổi VD ô A1 là P4.5 giờ tách thành 4.5 Upvote 0 V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,788 Nghề nghiệp Thầy bói bài ta
Lannguyen3960 đã viết: Nhờ mọi người giúp đỡ VBA tách số thập phân ra khỏi chuổi VD ô A1 là P4.5 giờ tách thành 4.5 Nhấp chuột vào đây để mở rộng...
. Function VeBeA() As Variant If [A1].Value = "P4.5" Then VeBeA = "4.5" Else VeBeA = "No Bloody Clue" End Function Upvote 0 L

llanhlungll

Thành viên mới
Tham gia 12/11/12 Bài viết 12 Được thích 0 Tương tự tách vậy giúp em cái này với.. Xin cảm ơn

File đính kèm

  • Tach ngay.xlsm Tach ngay.xlsm 15.2 KB · Đọc: 13
Upvote 0 C

CHAOQUAY

Thành viên gắn bó
Tham gia 24/8/18 Bài viết 2,239 Được thích 2,754
llanhlungll đã viết: Tương tự tách vậy giúp em cái này với.. Xin cảm ơn Nhấp chuột vào đây để mở rộng...
Thử cùi bắp, tại B2 Mã: Sao chép. =TRIM(MID(SUBSTITUTE(SUBSTITUTE($A2,";",REPT(" ",100)),"-",REPT(" ",100)),(COLUMNS($B2:B2)-1)*100+1,100)) Upvote 0 L

llanhlungll

Thành viên mới
Tham gia 12/11/12 Bài viết 12 Được thích 0 Cảm ơn bạn mình làm được rồi dùng TextToColumns: Set ws = ThisWorkbook.Sheets("Tong Hop") ws.Columns(5).Copy ws.Columns(9).PasteSpecial xlPasteValues lR = Worksheets("Tong Hop").Cells(Rows.Count, 1).End(xlUp).Row 'lR = ws.Cells(.Rows.Count, "I").End(xlUp).Row 'lR = Excel.WorksheetFunction.CountA(ws.Range("I:I")) For i = 1 To lR ws.Cells(i, 9).Value = Excel.WorksheetFunction.Substitute(ws.Cells(i, 9).Value, " ", "") If Right(ws.Cells(i, 9).Value, 1) = ";" Then ws.Cells(i, 9).Value = Left(ws.Cells(i, 9).Value, Len(ws.Cells(i, 9).Value) - 1) End If Next 'TextToColumns ws.Range("I1:I20").TextToColumns Destination:=ws.Range("I1:I20"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, _ Tab:=True, Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _ DecimalSeparator:=";", ThousandsSeparator:=",", TrailingMinusNumbers:=False Upvote 0 Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.

Bài viết mới nhất

N Hướng dẫn công thức Query kết hợp Arrayfomula bị lỗi
  • Na7979
  • Thứ bảy lúc 11:40
  • Lọc và sắp xếp dữ liệu
Trả lời 1 Đọc 63 Hôm nay lúc 10:22 trung1987 T PhanTuHuong Nếu diễn đàn GPE đóng cửa? (4 người xem)
    • Thích
    • Yêu thích
  • PhanTuHuong
  • 14/12/25
  • Thư giãn
Trả lời 21 Đọc 804 Hôm nay lúc 09:39 Quang_Hải Quang_Hải huuthang_bd Cùng xây dựng file Gia Phả (2 người xem)
    • Thích
  • huuthang_bd
  • 30/12/13
  • Xây dựng ứng dụng.
Trả lời 51 Đọc 21K Hôm nay lúc 05:37 Maika8008 Maika8008 L nhờ hoàn thiện file dò xổ số (2 người xem)
  • levovantoan
  • Thứ sáu lúc 23:25
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 7 Đọc 238 Hôm nay lúc 03:37 SA_DQ SA_DQ GPE-Trợ Lý [GPE21] ỨNG DỤNG POWER QUERY TRONG ĐỐI CHIẾU DỮ LIỆU HÓA ĐƠN ĐIỆN TỬ VÀ DỮ LIỆU KẾ TOÁN (1 người xem)
    • Thích
  • GPE-Trợ Lý
  • Hôm qua, lúc 10:02
  • Học tập Online
Trả lời 0 Đọc 188 Hôm qua, lúc 10:02 GPE-Trợ Lý GPE-Trợ Lý H hướng dẫn xóa dòng, cột file excel
  • hoangvucntt
  • Thứ bảy lúc 10:16
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 1 Đọc 74 Thứ bảy lúc 17:39 ptm0412 ptm0412 D Xin giúp.......Kết hợp countifs và Sumproduct để đếm dữ liệu và tính số lượng tổng không trùng lặp với nhiều điều kiện
  • dieppk.nb92
  • 14/12/25
  • Hàm và công thức Excel
Trả lời 20 Đọc 585 Thứ bảy lúc 10:56 Phan Thế Hiệp Phan Thế Hiệp K Các nút Buttom, Combobox, Textbox bị thay đổi kích thước ...
  • kaoehtkid
  • 15/12/25
  • Những vấn đề chung
Trả lời 13 Đọc 348 Thứ sáu lúc 19:07 ongke0711 ongke0711 HeSanbi Thuật ngữ "Đối chiếu Unicode" quan trọng trong việc xử lý chuỗi ký tự
    • Thích
  • HeSanbi
  • 13/12/25
  • Xử lý chuỗi ký tự
Trả lời 2 Đọc 263 Thứ sáu lúc 17:38 HeSanbi HeSanbi Nguyenkhang2404 Tính định mức sản phẩm
    • Chấp nhận
  • Nguyenkhang2404
  • 24/7/25
  • Hàm và công thức Excel
Trả lời 11 Đọc 958 Thứ sáu lúc 14:27 nguyenanhtruong2409 N T Lọc dự liệu với hai điều kiện
  • tiny1010
  • 16/3/10
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 18 Đọc 7K Thứ sáu lúc 14:11 nguyenanhtruong2409 N N Tổng hợp 2 sheet khác nhau (có 1 cột dữ liệu trùng) trong goole sheet
  • Na7979
  • Thứ sáu lúc 14:01
  • Google Sheets
Trả lời 0 Đọc 53 Thứ sáu lúc 14:01 Na7979 N D
  • Question Question
Tách dòng tự động theo điều kiện bằng VBA
    • Cười
  • duongnhuxuyen
  • 12/12/25
  • Lập Trình với Excel
Trả lời 17 Đọc 478 Thứ sáu lúc 12:04 ptm0412 ptm0412 P Lỗi hàm VBA phải add-in sau mỗi lần mở file (1 người xem)
  • phamdinh.huy.aladin@gmail
  • 15/12/25
  • Hàm và công thức Excel
Trả lời 7 Đọc 263 Thứ sáu lúc 08:11 minhnghia123 M M Sai lệch vùng dữ liệu khi tạo Name Range bằng VBA
    • Buồn
  • Mr_Siro
  • Thứ tư lúc 10:57
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 5 Đọc 184 Thứ năm lúc 13:23 Mr_Siro M P Tìm giá trị tồn kho đầu ngày
  • ptthuongtn
  • Thứ tư lúc 15:15
  • Hàm và công thức Excel
Trả lời 3 Đọc 184 Thứ năm lúc 11:22 Duy Tùng 9x Duy Tùng 9x skygatevn Xin giúp đỡ về việc áp dụng hàm phù hợp để phân tách dữ liệu (1 người xem)
  • skygatevn
  • Thứ tư lúc 11:59
  • Hướng dẫn sử dụng các hàm trong Excel
Trả lời 3 Đọc 146 Thứ tư lúc 13:52 skygatevn skygatevn PhanTuHuong Bán sách Excel nâng cao để ủng hộ đồng bào bão lũ năm 2025!
    • Yêu thích
  • PhanTuHuong
  • 10/12/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 5 Đọc 372 Thứ tư lúc 12:43 GPE-Trợ Lý GPE-Trợ Lý GPE-Trợ Lý CHUNG TAY HƯỚNG VỀ MIỀN TRUNG NĂM 2025
    • Thích
  • GPE-Trợ Lý
  • 24/11/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 12 Đọc 968 Thứ tư lúc 07:38 PhanTuHuong PhanTuHuong HeSanbi
  • Đã giải quyết
WeatherXL - Ứng dụng lấy dữ liệu Thời tiết siêu nhanh (***Đang phát triển lại) (1 người xem)
    • Thích
    • Yêu thích
  • HeSanbi
  • 30/5/20
  • Lập Trình với Excel
Trả lời 92 Đọc 27K Thứ ba lúc 19:57 Maika8008 Maika8008 Xem thêm… Chia sẻ: Facebook X Bluesky LinkedIn Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Maika8008 41
  • thanthanhan 23
  • dungpham01 19
  • ongke0711 19
  • Phan Thế Hiệp 17
  • ptm0412 17
  • eagle12 16
  • nguyenanhtruong2409 16
  • HUONGHCKT 12
  • vic_it 11
  • nhhnam 10
  • pycckuu410 10
  • dieppk.nb92 10
  • Vũ Hải Sơn 9
  • HeSanbi 9
  • le_vis 8
  • Gà Con yêu VBA 8
  • bsbnhh 7
  • duongnhuxuyen 7
  • Hana2610 6

Thành viên có điểm tương tác cao nhất tháng

  • Phan Thế Hiệp 87
  • Maika8008 34
  • thanthanhan 20
  • ongke0711 17
  • ptm0412 17
  • HeSanbi 15
  • dungpham01 11
  • HUONGHCKT 9
  • eagle12 9
  • SA_DQ 9
  • Cúc Hr 8
  • dieppk.nb92 6
  • Mr.hieudoanxd 5
  • befaint 5
  • pycckuu410 5
  • Hoàng Tuấn 868 4
  • Phuocam 4
  • nguyenanhtruong2409 4
  • nhhnam 2
  • Gà Con yêu VBA 2

Thời gian đếm ngược.

000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » Tách Số Vba