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 Sub
Kiitti vastauksesta :-) Tutkin asiaa!
Aihe on jo aika vanha, joten et voi enää vastata siihen.