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
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.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
Dạ đây chỉ là ví dụ thôi ạ
có cách nào chuyển đống này thành vba k ạ
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?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
Viết cho đủ 500 bài bác ạ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.Vậy mà bạn cũng tách được?
tách cuỗi trong tin nhắn
cảm ơn thầy rất nhiều ạ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
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.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ờ.