Tạo hàm thay thế có điều kiện

Liên hệ QC

ThaiDieuAnh

Thành viên hoạt động
Tham gia
8/8/16
Bài viết
139
Được thích
24
Nghề nghiệp
Xây dựng
Chào các anh chị trên GPE. Em muốn các anh chị giúp em tạo hàm để thay thế các ký tự trong chuỗi có điều kiện, ví dụ:
GPE (Giải pháp Excel) -> @@@@(GPE)
Thuế VAT (Giá trị gia tăng) chiếm (10%) CP (Chi phí) của SP (Sản phẩm) -> @@@@@@@@@(Giá trị gia tăng)@@@@@@@(10%)@@@@(Chi phí)@@@@@@@@(Sản phẩm)
Tức là những ký tự ngoài dấu ngoặc ( ) thì sẽ thay thế bằng ký tự @
Em xin cảm ơn!
 
Chào các anh chị trên GPE. Em muốn các anh chị giúp em tạo hàm để thay thế các ký tự trong chuỗi có điều kiện, ví dụ:
GPE (Giải pháp Excel) -> @@@@(GPE)
Thuế VAT (Giá trị gia tăng) chiếm (10%) CP (Chi phí) của SP (Sản phẩm) -> @@@@@@@@@(Giá trị gia tăng)@@@@@@@(10%)@@@@(Chi phí)@@@@@@@@(Sản phẩm)
Tức là những ký tự ngoài dấu ngoặc ( ) thì sẽ thay thế bằng ký tự @
Em xin cảm ơn!
1 kí tự là 1 chữ @ hả huynh
 
Upvote 0
Function AMoc(ByVal s As String) As String
' hàm thay các ký tự nằm ngoài cặp dấu ngoặc () bằng ký tự a móc
Dim moNgoac As Integer ' đếm số dấu mở ngoặc. Khi trị này >0 thì các ký tự đang nằm trong dấu ngoặc.
AMoc = s
For i = 1 To Len(AMoc)
Select Case Mid(AMoc, i, 1)
Case "("
moNgoac = moNgoac + 1
Case ")"
If moNgoac > 0 Then moNgoac = moNgoac - 1
Case Else
If moNgoac <= 0 Then Mid(AMoc, i, 1) = "@"
End Select
Next i
End Function

Thử trên cửa sổ immediate:
? amoc("Thu_ VAT (Giá tr_ gia t_ng) chi_m (10%) CP (Chi phí) c_a SP (S_n (abc) ph_m)")
@@@@@@@@@(Giá tr_ gia t_ng)@@@@@@@(10%)@@@@(Chi phí)@@@@@@@@(S_n (abc) ph_m)
 
Upvote 0
Function AMoc(ByVal s As String) As String
' hàm thay các ký tự nằm ngoài cặp dấu ngoặc () bằng ký tự a móc
Dim moNgoac As Integer ' đếm số dấu mở ngoặc. Khi trị này >0 thì các ký tự đang nằm trong dấu ngoặc.
AMoc = s
For i = 1 To Len(AMoc)
Select Case Mid(AMoc, i, 1)
Case "("
moNgoac = moNgoac + 1
Case ")"
If moNgoac > 0 Then moNgoac = moNgoac - 1
Case Else
If moNgoac <= 0 Then Mid(AMoc, i, 1) = "@"
End Select
Next i
End Function

Thử trên cửa sổ immediate:
? amoc("Thu_ VAT (Giá tr_ gia t_ng) chi_m (10%) CP (Chi phí) c_a SP (S_n (abc) ph_m)")
@@@@@@@@@(Giá tr_ gia t_ng)@@@@@@@(10%)@@@@(Chi phí)@@@@@@@@(S_n (abc) ph_m)
Đúng ý em rồi, cảm ơn anh. Chúc anh khỏe!
 
Upvote 0
Web KT

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

Back
Top Bottom