tranminhnguyet98
Thành viên mới

- Tham gia
- 13/3/20
- Bài viết
- 10
- Được thích
- 0
Em đang gặp lỗi ambiguous name detected khicode hàm, mong mọi người chỉ giúp;
Đoạn code như sau ạ;
Function GETSTRINGS(rng As Range, ParamArray arguments() As Variant) As Variant
Dim rtn As Integer: rtn = 0
If TypeName(arguments(0)) = "Double" Then
rtn = arguments(0)
ElseIf TypeName(arguments(0)) = "Range" Then
If TypeName(arguments(0).Value) = "Double" Then rtn = arguments(0)
End If
Dim rsult As Variant
Dim srchTxt() As String:
Dim i As Double, ii As Double
Dim uB As Double:
Dim arguB As Long: arguB = UBound(arguments)
For Each cell In rng
srchTxt = Split(cell, " ")
uB = UBound(srchTxt)
For i = 0 To uB
For ii = 0 To arguB
If TypeName(arguments(ii)) = "Range" Or TypeName(arguments(ii)) = "Variant()" Then
For Each vcell In arguments(ii)
If UCase(srchTxt(i)) Like UCase(CStr(vcell)) Then rsult = rsult & srchTxt(i + rtn) & "°"
Next
Else
If UCase(srchTxt(i)) Like UCase(CStr(arguments(ii))) Then rsult = rsult & srchTxt(i + rtn) & "°"
End If
Next
Next
Next
GETSTRINGS = WorksheetFunction.Transpose(Split(Left(rsult, Len(rsult) - 1), "°"))
End Function
Đoạn code như sau ạ;
Function GETSTRINGS(rng As Range, ParamArray arguments() As Variant) As Variant
Dim rtn As Integer: rtn = 0
If TypeName(arguments(0)) = "Double" Then
rtn = arguments(0)
ElseIf TypeName(arguments(0)) = "Range" Then
If TypeName(arguments(0).Value) = "Double" Then rtn = arguments(0)
End If
Dim rsult As Variant
Dim srchTxt() As String:
Dim i As Double, ii As Double
Dim uB As Double:
Dim arguB As Long: arguB = UBound(arguments)
For Each cell In rng
srchTxt = Split(cell, " ")
uB = UBound(srchTxt)
For i = 0 To uB
For ii = 0 To arguB
If TypeName(arguments(ii)) = "Range" Or TypeName(arguments(ii)) = "Variant()" Then
For Each vcell In arguments(ii)
If UCase(srchTxt(i)) Like UCase(CStr(vcell)) Then rsult = rsult & srchTxt(i + rtn) & "°"
Next
Else
If UCase(srchTxt(i)) Like UCase(CStr(arguments(ii))) Then rsult = rsult & srchTxt(i + rtn) & "°"
End If
Next
Next
Next
GETSTRINGS = WorksheetFunction.Transpose(Split(Left(rsult, Len(rsult) - 1), "°"))
End Function