Tách chuỗi ký tự bằng VBA

Liên hệ QC

ĐỨC DIỆN MT

Thành viên mới
Tham gia
1/12/18
Bài viết
18
Được thích
4
Em chào anh chị ạ!
Em có file mẫu đính kèm, do lượng dữ liệu dài, nếu để công thức như hiện tại về sau sẽ bị nặng file, cho nên em nhờ anh chị hỗ trợ viết giúp code để tách chuỗi ký tự thay cho công thức,
Mong anh chị giúp đỡ ạ,
Cám ơn anh chị!
 

File đính kèm

  • Check barcode bằng VBA.xlsm
    17.2 KB · Đọc: 13
Em chào anh chị ạ!
Em có file mẫu đính kèm, do lượng dữ liệu dài, nếu để công thức như hiện tại về sau sẽ bị nặng file, cho nên em nhờ anh chị hỗ trợ viết giúp code để tách chuỗi ký tự thay cho công thức,
Mong anh chị giúp đỡ ạ,
Cám ơn anh chị!
Có công thức ngắn hơn công thức bạn đang dùng và chỉ 1 công thức thôi, bạn sợ nặng file thì copy rồi paste value là hết nặng ngay. Dữ liệu của bạn nhiều nhất là khoảng bao nhiêu dòng.
 
Upvote 0
Có công thức ngắn hơn công thức bạn đang dùng và chỉ 1 công thức thôi, bạn sợ nặng file thì copy rồi paste value là hết nặng ngay. Dữ liệu của bạn nhiều nhất là khoảng bao nhiêu dòng.
dạ, đây là file em check QR code nên mỗi ngày sẽ sử dụng nhiều dòng ạ
 
Upvote 0
Nhiều là bao nhiêu nhỉ, cho một con số đi bạn.
Ở GPE này bao lâu mà còn hỏi vậy sao?
Hỏi câu này sẽ được trả lời: "mỗi tháng vài chục ngàn dòng dữ liệu" (sau 1 năm sẽ đầy hết bảng ính)

Ở diễn đàn này, "nhiều" có nghĩa là giới hạn chận trên của Excel.
 
Upvote 0
Ở GPE này bao lâu mà còn hỏi vậy sao?
Hỏi câu này sẽ được trả lời: "mỗi tháng vài chục ngàn dòng dữ liệu" (sau 1 năm sẽ đầy hết bảng tính)
Ở diễn đàn này, "nhiều" có nghĩa là giới hạn chận trên của Excel.
Hỏi cẩn thận để xem dùng cách nào cho phù hợp nhất với số lượng dữ liệu vậy mà cũng có thấy phản hồi nữa đâu anh.
 
Upvote 0
Em chào anh chị ạ!
Em có file mẫu đính kèm, do lượng dữ liệu dài, nếu để công thức như hiện tại về sau sẽ bị nặng file, cho nên em nhờ anh chị hỗ trợ viết giúp code để tách chuỗi ký tự thay cho công thức,
Mong anh chị giúp đỡ ạ,
Cám ơn anh chị!
Nếu muốn dùng code, thử cái này xem.
Thay đổi chỗ hiện kết quả nhé.
 

File đính kèm

  • Check barcode bằng VBA.xlsm
    22.3 KB · Đọc: 27
Upvote 0
Nhiều là bao nhiêu nhỉ, cho một con số đi bạn.
dạ, xin lỗi anh
Hỏi cẩn thận để xem dùng cách nào cho phù hợp nhất với số lượng dữ liệu vậy mà cũng có thấy phản hồi nữa đâu anh.
dạ, xin lỗi anh vì đã trả lời chậm
Mỗi ngày em dùng khoảng 400-800 dòng, tùy từng hôm ạ
 
Upvote 0
Mỗi ngày em dùng khoảng 400-800 dòng, tùy từng hôm ạ
800 dòng hay 1000 dòng cũng thế thôi.

Chọn dữ liệu trong cột B, tức chọn B8:B10, nếu có 800 dữ liệu trong B8:B807 thì chọn B8:B807 -> thẻ Data -> Text to Columns -> chọn Delimited -> nhấn Next -> đánh dấu Other -> bên cạch gõ ký tự / -> Next -> sửa $B$8 thành $C$8 -> nhấn Finish

Mất tất cả bao nhiêu giây?
 
Upvote 0
800 dòng hay 1000 dòng cũng thế thôi.

Chọn dữ liệu trong cột B, tức chọn B8:B10, nếu có 800 dữ liệu trong B8:B807 thì chọn B8:B807 -> thẻ Data -> Text to Columns -> chọn Delimited -> nhấn Next -> đánh dấu Other -> bên cạch gõ ký tự / -> Next -> sửa $B$8 thành $C$8 -> nhấn Finish

Mất tất cả bao nhiêu giây?
Dạ, phương pháp này rất hay ạ,
Nếu áp vào file của em thì có chút nhược điểm là không hiện được ngay kết quả, trường hợp check barcode bị lỗi thì sẽ k kịp thời phát hiện ra ạ.
 
Upvote 0
Dạ, phương pháp này rất hay ạ,
Nếu áp vào file của em thì có chút nhược điểm là không hiện được ngay kết quả, trường hợp check barcode bị lỗi thì sẽ k kịp thời phát hiện ra ạ.
Thử code này trong sheet "Barcode"

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
If Target.Count > 1 Then Exit Sub
If Target.Column <> 2 Then Exit Sub
If Target.Row < 8 Then Exit Sub

Application.EnableEvents = False
Target.Offset(0, -1) = Date
Target.Offset(0, 1).Resize(1, 6) = Split(Target.Value, "/")

Application.EnableEvents = True
End Sub
 

File đính kèm

  • Check barcode bằng VBA.xlsm
    18.3 KB · Đọc: 18
Upvote 0
800 dòng hay 1000 dòng cũng thế thôi.

Chọn dữ liệu trong cột B, tức chọn B8:B10, nếu có 800 dữ liệu trong B8:B807 thì chọn B8:B807 -> thẻ Data -> Text to Columns -> chọn Delimited -> nhấn Next -> đánh dấu Other -> bên cạch gõ ký tự / -> Next -> sửa $B$8 thành $C$8 -> nhấn Finish

Mất tất cả bao nhiêu giây?
Ha ha. Ở diễn đàn này, người lên hỏi không phải để tim giải pháp, mà là để nhờ giúp thực hiện ý định của mình. Tất cả mọi tư duy của người ta đã đang và sẽ dồn đầu tư vào việc bảo vệ ý định này.
Thay vì nhìn vào ưu điểm của các giải pháp khác. Việc làm đầu tiên của người ta là tìm nhược điểm.

Dạ, phương pháp này rất hay ạ,
Nếu áp vào file của em thì có chút nhược điểm là không hiện được ngay kết quả, trường hợp check barcode bị lỗi thì sẽ k kịp thời phát hiện ra ạ.
 
Upvote 0
Thử code này trong sheet "Barcode"

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
If Target.Count > 1 Then Exit Sub
If Target.Column <> 2 Then Exit Sub
If Target.Row < 8 Then Exit Sub

Application.EnableEvents = False
Target.Offset(0, -1) = Date
Target.Offset(0, 1).Resize(1, 6) = Split(Target.Value, "/")

Application.EnableEvents = True
End Sub
Code này rất hay, em cám ơn anh nhiều ạ
 
Upvote 0
Web KT

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

Back
Top Bottom