Poniżej uproszczony sposób opierający się na wbudowanych mechanizmach excela. Makro tworzy po prostu odniesienie do potrzebnego pliku, arkusza i komórki. Trzeba to jeszcze dopracować i zabezpieczyć, ale jak działa już widać.
Sub import()
Dim caly As String, plik As String, sciezka As String, arkusz As String, i As Byte
arkusz = "Arkusz1"
'D_Kolor_OK
caly = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
If caly = "" Then Exit Sub
plik = Dir(caly)
sciezka = Left(caly, Len(caly) - Len(plik))
For i = 4 To 31
Cells(i, 1) = "='" & sciezka & "[" & plik & "]" & arkusz & "'!J" & i
Cells(i, 2) = "='" & sciezka & "[" & plik & "]" & arkusz & "'!Y" & i
Next i
End Sub |