Olen yrittänyt Tuo ulkoiset tiedot -komennolla tuoda Excel-tiedostoon dataa toisesta Excel-tiedostosta. Periaatteessa homma pelittää, mutta nyt huomasin, että jostain syystä osa muuttujista tulee tyhjänä. Mulla on taulukossa kolme saraketta (AiheID, Aika ja Arvo). AiheID on esim. 1 kaikilla arvoilla. Aika voi olla vuosisarja (1990, 1991,...) tai kuukausisarja (1990:01, 1990:02,...). Arvot ovat desimaalilukuja. AiheID jää aina tyhjäksi ja samoin Aika-mja, jos se on vuosisarja. Aika-mja tulee ihan ok, jos se on kuukausisarjamuotoa. Mistähän tässä mahtaa olla kyse?
Moikka crimsonglory!
Kun tuot ulkoisia tietoja toisesta excel-tiedostosta niin tutki mitä tapahtuu, kun painat Tietojen tuominen-ikkunassa Ominaisuudet-nappia ja muutat Säilytä sarakkeiden lajittelu, suodatus ja asettelu ja/tai Säilytä solujen muotoilut-asetuksia.
voit myös siirtää tietoja työkirjasta toiseen yksinkertaisen makron avulla (oheinen esimerkki), kätevää on myös liittää makro mukautettuun valikkokomeentoon tai nappulaan.
Sub TuoTiedot()
Application.ScreenUpdating = False
Dim fd As FileDialog, _
thisPath As String, _
thisName As String, _
xlFile As Variant, _
FullPath As String
thisPath = ActiveWorkbook.FullName
thisName = ActiveWorkbook.Name
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.Filters.Add "Laskentataulukot (*.xls)", "*.xls", 1
.FilterIndex = 1
If .Show = -1 Then
For Each xlFile In .SelectedItems
FullPath = xlFile
Next
Else
Exit Sub
End If
End With
Set fd = Nothing
Dim wk As Workbook
For Each wk In Workbooks
With wk
If .FullName = FullPath Then
Exit Sub
End If
End With
Next
Workbooks.Open (FullPath)
Dim thatName As String
thatName = ActiveWorkbook.Name
Workbooks(thatName).Sheets("Taul1"). _
Range("A1:C20").Copy Destination:= _
Workbooks(thisName).Sheets("Taul1").Range("A1")
Workbooks(thatName).Close
Application.ScreenUpdating = True
End SubKiitti vastauksesta :-) Tutkin asiaa!
Aihe on jo aika vanha, joten et voi enää vastata siihen.