Doannguyen97
Thành viên mới
- Tham gia
- 16/3/23
- Bài viết
- 4
- Được thích
- 0
Bạn tham khảo thêm cách dùng code.Các cao nhân giúp em tách giá trị sau chữ G từ cột A sang cột B trong ví dụ sau đây với ạ
Option Explicit
Sub tach()
Dim i&, Lr&, a%, ch$, b%, tmp1$
Lr = Range("A" & Rows.Count).End(xlUp).Row
Range("C:C").ClearContents
For i = 2 To Lr
a = InStr(Cells(i, 1), "G")
If a > 0 Then
For b = a To Len(Cells(i, 1))
tmp1 = Mid(Cells(i, 1), b + 1, 1)
If IsNumeric(tmp1) Or tmp1 = "." Then
ch = ch & tmp1
Else
Exit For
End If
Next b
Else
Cells(i, 3) = "No data"
End If
If a Then
Cells(i, 3) = ch: ch = ""
End If
Next i
MsgBox "Hoan Thanh"
End Sub
Dùng thử công thức này:Các cao nhân giúp em tách giá trị sau chữ G từ cột A sang cột B trong ví dụ sau đây với ạ
=IFERROR(SUBSTITUTE(CONCAT(IF(UNICODE(MID(MID(A2;MATCH("g";MID(A2;ROW(INDIRECT(1&":"&LEN(A2)));1);0)+1;3);{1;2;3};1))<58;MID(MID(A2;MATCH("g";MID(A2;ROW(INDIRECT(1&":"&LEN(A2)));1);0)+1;3);{1;2;3};1);""));".";",");0)
em dùng cái này ok luôn, cảm ơn bácDùng thử công thức này:
B2=IFERROR(LOOKUP(10^24,--MID(A2,SEARCH("g",A2)+1,ROW(INDIRECT(1&":"&LEN(A2))))),0)
em cảm ơn bác, dùng hàm như bên dưới là được luôn rồi ạBạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:Option Explicit Sub tach() Dim i&, Lr&, a%, ch$, b%, tmp1$ Lr = Range("A" & Rows.Count).End(xlUp).Row Range("C:C").ClearContents For i = 2 To Lr a = InStr(Cells(i, 1), "G") If a > 0 Then For b = a To Len(Cells(i, 1)) tmp1 = Mid(Cells(i, 1), b + 1, 1) If IsNumeric(tmp1) Or tmp1 = "." Then ch = ch & tmp1 Else Exit For End If Next b Else Cells(i, 3) = "No data" End If If a Then Cells(i, 3) = ch: ch = "" End If Next i MsgBox "Hoan Thanh" End Sub
Em lại gặp chút vấn đề với hàm này như ví dụ dưới đây, bác xem lại giúp em vớiDùng thử công thức này:
B2=IFERROR(LOOKUP(10^24,--MID(A2,SEARCH("g",A2)+1,ROW(INDIRECT(1&":"&LEN(A2))))),0)
Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:Option Explicit Sub tach() Dim i&, Lr&, a%, ch$, b%, tmp1$ Lr = Range("A" & Rows.Count).End(xlUp).Row Range("C:C").ClearContents For i = 2 To Lr a = InStr(Cells(i, 1), "G") If a > 0 Then For b = a To Len(Cells(i, 1)) tmp1 = Mid(Cells(i, 1), b + 1, 1) If IsNumeric(tmp1) Or tmp1 = "." Then ch = ch & tmp1 Else Exit For End If Next b Else Cells(i, 3) = "No data" End If If a Then Cells(i, 3) = ch: ch = "" End If Next i MsgBox "Hoan Thanh" End Sub
Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:Option Explicit Sub tach() Dim i&, Lr&, a%, ch$, b%, tmp1$ Lr = Range("A" & Rows.Count).End(xlUp).Row Range("C:C").ClearContents For i = 2 To Lr a = InStr(Cells(i, 1), "G") If a > 0 Then For b = a To Len(Cells(i, 1)) tmp1 = Mid(Cells(i, 1), b + 1, 1) If IsNumeric(tmp1) Or tmp1 = "." Then ch = ch & tmp1 Else Exit For End If Next b Else Cells(i, 3) = "No data" End If If a Then Cells(i, 3) = ch: ch = "" End If Next i MsgBox "Hoan Thanh" End Sub [/ [/QUOTE]
Cho em hỏi chút ạ. Em muốn thay đổi cột A sang cột H và xuất dữ liệu ra cột O như ví dụ dưới đây thì phải sửa sao ạ. Và làm sao để hiện chữ "Tách" như trong file bác gửi ạ. Em hơi dốt phần này, mong bác chỉ giáo.Bạn tham khảo thêm cách dùng code.
Nếu cần công thức thì chờ thêm và nên thay đổi cách xưng hô.
Cứ trân phương là ăn tiền à!
Mã:Option Explicit Sub tach() Dim i&, Lr&, a%, ch$, b%, tmp1$ Lr = Range("A" & Rows.Count).End(xlUp).Row Range("C:C").ClearContents For i = 2 To Lr a = InStr(Cells(i, 1), "G") If a > 0 Then For b = a To Len(Cells(i, 1)) tmp1 = Mid(Cells(i, 1), b + 1, 1) If IsNumeric(tmp1) Or tmp1 = "." Then ch = ch & tmp1 Else Exit For End If Next b Else Cells(i, 3) = "No data" End If If a Then Cells(i, 3) = ch: ch = "" End If Next i MsgBox "Hoan Thanh" End Sub