1./ Chừa dòng tiêu đề ra, vì anh lấy cả dòng tiêu đề nên nó hiểu là text
2./ Dữ liệu của anh rất khó xử, vì có dòng dữ liệu xen kẻ nên không thể lọc theo ý muốn. Nếu lọc N thì nó chỉ lấy dòng có giá trị, còn những dòng trống nó bỏ đi thì kết quả không như mong đợi.
Nhưng sao em sửa hàm lại như ban đầu thế này nó vẫn cho kết quả là Text?
[GPECODE=vb]Function GetData(FileFullName, ShName As String, Optional ByVal sRng As String = "")
Dim lsSQL As String, Cnn As Object, lrs As Object, rstArr As Variant
Set Cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
With Cnn
If Val(Application.Version) < 12 Then
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileFullName & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
Else
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FileFullName & ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
End If
.Open
End With
lsSQL = "SELECT * " & "FROM [" & ShName & "$" & sRng & "] "
lrs.Open lsSQL, Cnn, 3, 1
rstArr = lrs.GetRows
GetData = TransArr(rstArr)
End Function[/GPECODE]