Lê Hồng Minh83
Thành viên tiêu biểu
- Tham gia
- 29/9/17
- Bài viết
- 587
- Được thích
- 649
- Giới tính
- Nam
Chào các thành viên diễn đàn
em đang mày mò áp dụng ADO nhưng bị tình trạng dữ liệu ở file gốc thì chỉ là dữ liệu số được định dạng kiểu tiền tệ:
Nhưng khi nó được chuyển qua file khác bằng ADO (code sưu tầm trên GPE) thì dữ liệu định dạng bị chuyển đổi thành giá trị chuỗi và gán luôn ký hiệu định dạng $52
Có cách nào để lấy dữ liệu từ file đang đóng mà giữ nguyên giá trị ban đầu không ạ (file gốc ở bên ngoài nên không thể yêu cầu người ta bỏ định dạng theo ý mình được)
tham khảo code
Cảm ơn!
em đang mày mò áp dụng ADO nhưng bị tình trạng dữ liệu ở file gốc thì chỉ là dữ liệu số được định dạng kiểu tiền tệ:
Nhưng khi nó được chuyển qua file khác bằng ADO (code sưu tầm trên GPE) thì dữ liệu định dạng bị chuyển đổi thành giá trị chuỗi và gán luôn ký hiệu định dạng $52
Có cách nào để lấy dữ liệu từ file đang đóng mà giữ nguyên giá trị ban đầu không ạ (file gốc ở bên ngoài nên không thể yêu cầu người ta bỏ định dạng theo ý mình được)
tham khảo code
Mã:
Function GetExcelConnection(ByVal Path As String, Optional ByVal Header As Boolean = True)
Dim StrConn As String, ObjConn As Object, Pro As String, Ext As String
Set ObjConn = CreateObject("ADODB.Connection")
If Application.Version < 12 Then
Pro = "Provider=Microsoft.JET.OLEDB.4.0;"
Ext = ";Extended Properties=""Excel 8.0;"
Else
Pro = "Provider=Microsoft.ACE.OLEDB.12.0;"
Ext = ";Extended Properties=""Excel 12.0;"
End If
StrConn = Pro & "Data Source=" & Path & Ext & "HDR=" & IIf(Header, "Yes", "No") & ";IMEX=1"";"
ObjConn.Open StrConn
Set GetExcelConnection = ObjConn
End Function
Sub Copy_LIST()
Dim ObjConn As Object, RS As Object, Files
Dim StrRequest As String, Path As String
On Error Resume Next
Sheet1.Range("A1:K1000").ClearContents
Path = ThisWorkbook.Path
Files = "data.xlsx"
Set RS = CreateObject("ADODB.Recordset")
Set ObjConn = GetExcelConnection(Path & "\" & Files, 0)
StrRequest = "SELECT * FROM [Sheet1$A1:S700]"
RS.Open StrRequest, ObjConn, 3, 1
Sheet1.[A100].End(xlUp).CopyFromRecordset RS
ObjConn.Close
Set RS = Nothing
End Sub