Mình biết chủ đề này đã thảo luận nhiều trên DĐ nhưng mình thấy lung tung quá và tìm hoài ko thấy chỗ mình cần nên lập thêm 1 topic mới nhờ giúp đỡ. Mình đang sử dụng đoạn code sau được chia sẻ trên dđ để lấy dữ liệu
PHP Code:
Function GetData(sFile As String, sSheet As String, sAddr As String)
Dim pLink As String, iR As Long, iC As Long, Arr
If Len(Dir(sFile)) Then
Arr = Range(sAddr)
pLink = "'" & Replace(sFile, Dir(sFile), "[" & Dir(sFile) & "]") & sSheet & "'!"
For iR = 1 To Range(sAddr).Rows.Count
For iC = 1 To Range(sAddr).Columns.Count
Arr(iR, iC) = ExecuteExcel4Macro(pLink & Range(sAddr).Cells(iR, iC).Address(, , 2))
Next iC
Next iR
GetData = Arr
End If
End Function
Sub Test()
Dim sFile As String, sSheet As String, sAddr As String
sFile = ThisWorkbook.Path & "\Source.xls"
sSheet = "Sheet1"
sAddr = "A1
100"
Range("A1
12") = GetData(sFile, sSheet, sAddr)
End Sub
Tuy nhiên mình muốn thay file "source.xls" bằng file mà tên được nhập từ sheet "Data" ô G3 chẳng hạn (các file nằm cùng thư mục)
vd khi nhập vào ô G3 tên file là source1.xls thì lấy dữ liệu từ file source1.xls
khi nhập vào ô G3 tên file là source2.xls thì lấy dữ liệu từ file source2.xls
...
Xin cảm ơn mọi người!
PHP Code:
Function GetData(sFile As String, sSheet As String, sAddr As String)
Dim pLink As String, iR As Long, iC As Long, Arr
If Len(Dir(sFile)) Then
Arr = Range(sAddr)
pLink = "'" & Replace(sFile, Dir(sFile), "[" & Dir(sFile) & "]") & sSheet & "'!"
For iR = 1 To Range(sAddr).Rows.Count
For iC = 1 To Range(sAddr).Columns.Count
Arr(iR, iC) = ExecuteExcel4Macro(pLink & Range(sAddr).Cells(iR, iC).Address(, , 2))
Next iC
Next iR
GetData = Arr
End If
End Function
Sub Test()
Dim sFile As String, sSheet As String, sAddr As String
sFile = ThisWorkbook.Path & "\Source.xls"
sSheet = "Sheet1"
sAddr = "A1

Range("A1

End Sub
Tuy nhiên mình muốn thay file "source.xls" bằng file mà tên được nhập từ sheet "Data" ô G3 chẳng hạn (các file nằm cùng thư mục)
vd khi nhập vào ô G3 tên file là source1.xls thì lấy dữ liệu từ file source1.xls
khi nhập vào ô G3 tên file là source2.xls thì lấy dữ liệu từ file source2.xls
...
Xin cảm ơn mọi người!
Lần chỉnh sửa cuối: