Tách chuỗi với điều kiện

  • Thread starter hungyen2010
  • Ngày gửi
H

hungyen2010

Guest
Chào cả nhà em làm hàm tách chuỗi với tham số truyền vào là chuỗi cần tách và chuỗi điều kiện tách ví dụ (125LAV584672, LAV) tách ra chuỗi LAV584672 nhưng khi e thực hiện gọi hàm đó không cho kết quả. Xin cả nhà giúp em lỗi ở đâu ạ
Public Function tachLAV(str As String, lav As String)
On Error GoTo Er
str = Mid(str, InStr(1, str, lav, 1))
tachLAV = Split(str, "-")
If tachLAV = "" Then tachLAV = 0
Exit Function
Er:
tachLAV = ""
End Function n
 
V

vothanhthu

Guest
Góp ý với bạn:
1. Code bạn cần phải đặt trong thẻ code
2. Yêu cầu bạn đưa ra không rõ ràng: tại sao (125LAV584672, LAV) tách ra chuỗi LAV584672, sao không phải là 584672 ?, đựa vào gì mà bạn ra kết quả này???
3. Bạn cần để lại file demo để người khác có thể có file để giúp bạn.
Đề nghị bạn sửa bài lại trước khi nhờ diễn đàn giúp đỡ
 
Sửa lần cuối bởi điều hành viên:

Euler

Administrator
Thành viên BQT
Mô tả thì một đằng 125LAV584672, LAV , code thì lại một nẻo: tachLAV = Split(str, "-") .
Thành ra là chẳng biết đâu là input.
125LAV584672, LAV hay 125LAV584672-LAV ?
Chưa nói tới VBA, tôi nói tới diễn đạt thôi, người đọc không hiểu đâu là input.
Qua diễn đàn, các bạn thấy ngay một điều, nguồn lực con người, mà cụ thể là trí thức VN, tệ hại ra sao.
 
H

hungyen2010

Guest
Mình xin lỗi là do mình mô tả nên các bạn hiểu không rõ vấn đề mình gửi file đính kèm
Sub sms()
Dim lastrow_GL As Long, i As Long, lastrow_LN As Long
Dim Rng As Range
Dim strLAV As String
'Sheet1.Activate
'Set Rng = Sheet3.UsedRange
lastrow_GL = Sheets(1).Cells(Sheets(1).Rows.Count, "A").End(xlUp).Row
'lastrow_LN = Sheets(1).Cells(Sheets(1).Rows.Count, "A").End(xlUp).Row
strLAV = Sheet1.Range("E1").Value
MsgBox strTmp
' tach LAV trong file phi
For i = 4 To lastrow_GL

Sheet1.Range("C" & i).Value = tachLAV(Sheet1.Range("a" & i), strLAV)


Next
'Sheets("GL").Columns(12).Copy Destination:=Sheets("GL").Columns(27)

'Call tongphiLAV

End Sub

Public Function tachLAV(str As String, lav As String)
On Error GoTo Er
str = Mid(str, InStr(1, str, lav, 1))
tachLAV = Split(str, "-")
If tachLAV = "" Then tachLAV = 0
Exit Function
Er:
tachLAV = ""
End Function
 

tuhocvba

Administrator
Thành viên BQT
Stop nhé. Không ai vào thảo luận trong topic này.
1-Bạn phải cho code vào thẻ code.
Ví dụ:
Mã:
If tachLAV = "" Then tachLAV = 0
Exit Function
Er:
tachLAV = ""
2-Nói rõ mục đích mình muốn làm cái gì. Input là gì. Output muốn như thế nào.
Bạn có làm được không?
 

tuhocvba

Administrator
Thành viên BQT
Trước khi viết bài, hãy đọc qua các hướng dẫn về việc sử dụng các chức năng cơ bản của diễn đàn.
Nếu không hiểu thì hỏi.

Việc viết bài không đúng qui định, một là nhìn vào không có thiện cảm. Hai là gây khó hiểu.
 
Top