Mình có làm 1 đoạn code để ghép 02 file csv thành 01 file excel. Mình sử dụng ADODB để lấy dữ liệu vào recordset xong đổ ngược lại file excel. Nhưng bên file csv đang font kiểu unicode "Calibri" hiển thị tiếng việt bình thường nhưng đổ ra file excel thì lại bị lỗi font. Nguyên nhân vì sao nhỉ. Ai biết chỉ cách khắc phục với. Cảm ơn!
Đây là code.
	
	
	
		
				
			Đây là code.
		Mã:
		
	
	Sub GetDataFromCSVFiles()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim DPFileName, DPFilePath As String
    Dim SQLString As String
    Dim i As Integer
    Dim IsFirstFile As Boolean
    DPFilePath = ThisWorkbook.Path & "\My Files\"
    DPFileName = Dir(DPFilePath & "*.csv")
    IsFirstFile = True
    Do Until DPFileName = ""
        If IsFirstFile Then
            SQLString = "SELECT * FROM [" & DPFileName & "]"
            IsFirstFile = False
        Else
            SQLString = SQLString & " UNION SELECT * FROM [" & DPFileName & "] "
        End If
        DPFileName = Dir
    Loop
    
    Sheet1.Range("A1").CurrentRegion.Offset(1, 0).Clear
    
    Set cn = New ADODB.Connection
    cn.Provider = "Microsoft.ACE.OLEDB.12.0"
    cn.ConnectionString = "Data Source=" & DPFilePath & ";" & _
            "Extended Properties=""text;HDR=Yes;IMEX=1;FMT=Delimited;"""
    'cn.ConnectionString = _
        "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
        "Dbq=" & ThisWorkbook.Path & "\My Files\;" & _
        "Extensions=asc,csv,tab,txt;"
    
    cn.Open
    
    Set rs = New ADODB.Recordset
    
    rs.ActiveConnection = cn
    rs.Source = SQLString
    rs.Open
    
    'For i = 0 To rs.Fields.Count - 1
    '    Sheet1.Cells(1, i + 1).Value = rs.Fields(i).Name
    'Next i
        
    'Sheet1.Cells(1, 1).Value = Mid(Sheet1.Cells(1, 1).Value, 4)
    
    Sheet1.Range("A2").CopyFromRecordset rs
    
    rs.Close
    cn.Close
    
    Sheet1.Range("A2").CurrentRegion.EntireColumn.AutoFit
End Sub
	
	
	  


