tách chuỗi trong tin nhắn

Liên hệ QC

Minh Đức 1309

Thành viên chính thức
Tham gia
23/11/17
Bài viết
64
Được thích
3
Giới tính
Nam
220315Có cách nào tách chuỗi như sau k ạ
Phần tin nhắn :
chuỗi gồm :1.số đầu là đơn giá,
2.phần kí tự chuỗi đến chữ x đầu tiên là tên hàng
3.phần số đến chữ x thứ 2 là quy cách
4.phần số cạnh chữ x thứ 2 là đơn giá
5.các kí tự sau đơn giá bỏ qua
 

File đính kèm

  • Book1.xlsx
    8.5 KB · Đọc: 16
View attachment 220315Có cách nào tách chuỗi như sau k ạ
Phần tin nhắn :
chuỗi gồm :1.số đầu là đơn giá,
2.phần kí tự chuỗi đến chữ x đầu tiên là tên hàng
3.phần số đến chữ x thứ 2 là quy cách
4.phần số cạnh chữ x thứ 2 là đơn giá
5.các kí tự sau đơn giá bỏ qua
Muốn giúp cũng ngán quá. Với cách làm việc cẩu thả của bạn thì bài này hỏi qua hỏi lại ít nhất 5 lần mới ra giải đáp.
(đọc lại cái ví dụ của mình thì sẽ hiểu tại sao tôi kết luận "cẩu thả")
 
Dạ đây chỉ là ví dụ thôi ạ
có cách nào chuyển đống này thành vba k ạ
 

File đính kèm

  • Book1.xlsx
    14.1 KB · Đọc: 18
Dạ đây chỉ là ví dụ thôi ạ
có cách nào chuyển đống này thành vba k ạ
Mã:
Sub TachChuoi()
Dim Nguon, Dong
Dim Kq() As String
Dim Mang, Chuoi
Dim i, j, k
With Sheet4
    Nguon = .Range("C7:C18")
    Dong = UBound(Nguon)
    ReDim Kq(1 To Dong, 1 To 4)
    For i = 1 To Dong
        If InStr(Nguon(i, 1), " x ") = 0 Then
            Mang = Split(Nguon(i, 1))
            Kq(i, 4) = Mang(UBound(Mang))
            Kq(i, 3) = Mang(0)
        Else
            Chuoi = WorksheetFunction.Trim(Replace(Nguon(i, 1), " x ", " "))
            Mang = Split(Chuoi)
            k = UBound(Mang)
            Kq(i, 4) = Mang(k): Mang(k) = ""
            Kq(i, 3) = Mang(k - 1): Mang(k - 1) = ""
            Kq(i, 2) = Mang(0): Mang(0) = ""
            Kq(i, 1) = WorksheetFunction.Trim(Join(Mang))
        End If
    Next i
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)).ClearContents
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
 
Mã:
Sub TachChuoi()
Dim Nguon, Dong
Dim Kq() As String
Dim Mang, Chuoi
Dim i, j, k
With Sheet4
    Nguon = .Range("C7:C18")
    Dong = UBound(Nguon)
    ReDim Kq(1 To Dong, 1 To 4)
    For i = 1 To Dong
        If InStr(Nguon(i, 1), " x ") = 0 Then
            Mang = Split(Nguon(i, 1))
            Kq(i, 4) = Mang(UBound(Mang))
            Kq(i, 3) = Mang(0)
        Else
            Chuoi = WorksheetFunction.Trim(Replace(Nguon(i, 1), " x ", " "))
            Mang = Split(Chuoi)
            k = UBound(Mang)
            Kq(i, 4) = Mang(k): Mang(k) = ""
            Kq(i, 3) = Mang(k - 1): Mang(k - 1) = ""
            Kq(i, 2) = Mang(0): Mang(0) = ""
            Kq(i, 1) = WorksheetFunction.Trim(Join(Mang))
        End If
    Next i
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)).ClearContents
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
Vậy mà bạn cũng tách được?
tách cuỗi trong tin nhắn
 
Vậy mà bạn cũng tách được?
tách cuỗi trong tin nhắn
Gộp thì khó chứ tách cái gì lại chẳng được bác ơi.
Nhìn cái hình trong bài #1 xem sẽ thấy là công việc không phải giản dị "tách cuỗi". Còn phải gộp các món hàng giống nhau nữa (và hình như còn đảo lộn gì đó mà tôi chưa hiểu).
Đã nói thớt cẩu thả mờ.
 
Mã:
Sub TachChuoi()
Dim Nguon, Dong
Dim Kq() As String
Dim Mang, Chuoi
Dim i, j, k
With Sheet4
    Nguon = .Range("C7:C18")
    Dong = UBound(Nguon)
    ReDim Kq(1 To Dong, 1 To 4)
    For i = 1 To Dong
        If InStr(Nguon(i, 1), " x ") = 0 Then
            Mang = Split(Nguon(i, 1))
            Kq(i, 4) = Mang(UBound(Mang))
            Kq(i, 3) = Mang(0)
        Else
            Chuoi = WorksheetFunction.Trim(Replace(Nguon(i, 1), " x ", " "))
            Mang = Split(Chuoi)
            k = UBound(Mang)
            Kq(i, 4) = Mang(k): Mang(k) = ""
            Kq(i, 3) = Mang(k - 1): Mang(k - 1) = ""
            Kq(i, 2) = Mang(0): Mang(0) = ""
            Kq(i, 1) = WorksheetFunction.Trim(Join(Mang))
        End If
    Next i
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)).ClearContents
    .Range("E7").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End With
End Sub
cảm ơn thầy rất nhiều ạ
 
Gộp thì khó chứ tách cái gì lại chẳng được bác ơi.
Nhìn cái hình trong bài #1 xem sẽ thấy là công việc không phải giản dị "tách cuỗi". Còn phải gộp các món hàng giống nhau nữa (và hình như còn đảo lộn gì đó mà tôi chưa hiểu).
Đã nói thớt cẩu thả mờ.
Hôm qua viết xong cái function.Viết xong bạn đó đưa dữ liệu khác lên.Quá nản.hihi.
 
Web KT
Back
Top Bottom