tiedostossa 1 esimerkiksi solussa C8 on tiedoston 2 nimi esim lasku3 . Tiedosto 2:ssa on numeerista tietoa joka pitäisi hakea tiedosto 1:een ennalta tiettyihin soluihin esim tiedosto 2:n solu C2 tulisi tiedosto 1:n soluun D3 . Käyttäisin templatea jossa vaihtaisin aina solun C8 sisältöä jossa on sen toisen tiedoston nimi ja näin saisin arvot tiedostosta toiseen. Homman saan kyllä pelittämään tekemällä jokaisen solun erikseen näin: D3: kaava ='[lasku3.xls]sheet1'!$C$2 mutta siinähän ei enää ole järkeä, sama hakea tiedot erikseen.
Jos laitan soluviittauksen C8 hakasulkujen sisään/paikalle sehän luulee tuota C8:aa nimeksi.
Mitenkähän tuo onnistuisi.
Tämä pitää tehdä näin koska haluan säilyttää alkuperäiset tiedostot ja en halua sekoittaa lähdemateriaalitiedostoja ja lopputuloksia toisiinsa.
Jos laitan soluviittauksen C8 hakasulkujen sisään/paikalle sehän luulee tuota C8:aa nimeksi.
Mitenkähän tuo onnistuisi.
Tämä pitää tehdä näin koska haluan säilyttää alkuperäiset tiedostot ja en halua sekoittaa lähdemateriaalitiedostoja ja lopputuloksia toisiinsa.
Vastaukset 3
Vanhimmat
=INDIRECT("[" & C8 & ".xls]Sheet1!$C$2")
tai epäsuora suomenkielisessä Excelissä.
Toisen tiedoston pitää olla auki, muuten tulee virheilmoitus.
hakee suljetusta työkirjasta
moduuliin...
Public Sub Testi()
Dim lähde As Workbook
Application.ScreenUpdating = False
Set lähde = Workbooks.Open("C:\" & Range("C8") & ".xls", False, True)' muuta polkua
Workbooks(1).Activate
Range("D3") = lähde.Worksheets("Taul1").Range("C2").Value 'tähän kopioinnit
Range("B4") = lähde.Worksheets("Taul1").Range("F13").Value 'tähän kopioinnit2
lähde.Close False
Set lähde = Nothing
Application.ScreenUpdating = True
End Sub
hommahan alko rulettaa, käytin tuota vba ohjetta kun tuntu passaavan paremmin tarpeisiini. vähän sitä piti modata vielä mutta kun tuo periaate selvisi niin siitähän oli hyvä jatkaa.