Giúp xem hàm VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tueyennhi

Thành viên tích cực
Tham gia
18/10/10
Bài viết
1,192
Được thích
105
Function Phong(toan As Variant)
If toan = "ACC/HC" Or toan = "HR/HC" Or toan = "GA/NGAY" Then
Phong = "AD"
Else: Phong = toan
End If
End Function


Em đang tạo công thức như trên. Các giá trị so sánh có thể là ACC/HC or GA/NGAY...

Có cách nào để code chỉ so sánh phần trước dấu / nghĩa là sao cho em có thể viết ngắn lại là

Function Phong(toan As Variant)
If toan = "ACC" Or toan = "HR" Or toan = "GA" Then
Phong = "AD"
Else: Phong = toan
End If
End Function

Mà nó vẫn ra kết quả như code ban đầu không?
 
Sao bạn không gửi kèm cái file excel để dễ hình dung
 
Upvote 0
PHP:
Option Explicit
Function Phong(Toan As Variant)
 Const GPE As String = "ACC@HR/@GA/@"
 
 If InStr(GPE, Left(Toan, 3)) Then
    Phong = "AD"
 Else
    Phong = Toan
 End If
End Function

Tham khảo trong khi chờ đợi những cái khác hay hơn!
 
Upvote 0
File với code chả dính dán gì với nhau cả -+*/
 
Upvote 0
À tại vì mình đang tập viết code ấy mà bạn. Tự hành trên cuốn lập trình VBA của thầy Phan Tự Hướng nên cái nhỏ nhặt nhất cũng có thể mới lạ với mình.

Nếu thế bạn có thểviết Function thế này:
PHP:
Function tach(vung As Range) As String
   tach = Left(vung.Value, InStr(1, vung.Value, "/") - 1)
End Function
 
Upvote 0
Nếu thế bạn có thểviết Function thế này:
PHP:
Function tach(vung As Range) As String
   tach = Left(vung.Value, InStr(1, vung.Value, "/") - 1)
End Function
Hay quá ha, mặc dù chưa đến mức hiểu được những cái này. Cảm ơn bạn nhé!
Nhưng mà mục đích cuối của mình là sau khi lọc được ra như thế sẽ có các hàm if. Nếu nó =ACC chẳng hạn thì nó là AD. Mà mình không biết đặt hàm if với cái biến nào :(
 
Lần chỉnh sửa cuối:
Upvote 0
Function Phong(toan As Variant)
If toan = "ACC/HC" Or toan = "HR/HC" Or toan = "GA/NGAY" Then
Phong = "AD"
Else: Phong = toan
End If
End Function


Em đang tạo công thức như trên. Các giá trị so sánh có thể là ACC/HC or GA/NGAY...

Có cách nào để code chỉ so sánh phần trước dấu / nghĩa là sao cho em có thể viết ngắn lại là

Function Phong(toan As Variant)
If toan = "ACC" Or toan = "HR" Or toan = "GA" Then
Phong = "AD"
Else: Phong = toan
End If
End Function

Mà nó vẫn ra kết quả như code ban đầu không?

Nếu chỉ so sánh một phần chuỗi thì dùng toán tử like thay vì toán tử =

Mã:
Function Phong(toan As Variant)
For Each e In [ { "ACC", "HR", "GA" } ]
If CStr(toan) Like e & "/*" Then [COLOR="#008000"]' chỗ này muốn có / hay không tuỳ ý[/COLOR]
Phong = "AD"
Exit Function
End If
Next
Phong = toan
End Function
 
Upvote 0
Web KT

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

Back
Top Bottom