Tiedostokansiossa MYYNNIT on x kpl rakenteeltaan identtisiä Excel –tiedostoja, data tietty eri.
TARVE: Jokaisen tiedoston LOKAKUU –nimisestä taulukosta pitäisi hakea tietyn (vaikka C17) solun sisältö. Tuloksena pitäisi syntyä taulukko, jossa A-sarakkeessa kunkin tiedoston nimi ja B-sarakkeessa halutun solun arvo. Siis yhtä monta riviä kuin tiedostoja kansiossa.
Koodin/makron pitäisi siis käydä läpi kaikki kansion EXCEL –tiedostot ja poimia ko. tieto koostetyökirjan taulukkoon. Löytyisikö jotain aihiota josta saisi mallia tällaisen tekemiseen?
TARVE: Jokaisen tiedoston LOKAKUU –nimisestä taulukosta pitäisi hakea tietyn (vaikka C17) solun sisältö. Tuloksena pitäisi syntyä taulukko, jossa A-sarakkeessa kunkin tiedoston nimi ja B-sarakkeessa halutun solun arvo. Siis yhtä monta riviä kuin tiedostoja kansiossa.
Koodin/makron pitäisi siis käydä läpi kaikki kansion EXCEL –tiedostot ja poimia ko. tieto koostetyökirjan taulukkoon. Löytyisikö jotain aihiota josta saisi mallia tällaisen tekemiseen?
Vastaukset 2
Vanhimmat
Option Explicit
Public Sub HakeeKaikistaTiedostoista()
Dim wbk As Workbook
Dim tw As Workbook
Dim Tiedosto As String
Dim Polku As String
Dim Laskuri As Integer
Application.ScreenUpdating = False
Laskuri = 1
Set tw = ThisWorkbook
tw.ActiveSheet.Range("A:B") = ""
Polku = "C:\Myynnit\" 'muuta polku
Tiedosto = Dir(Polku & "*.xlsx") 'muuta tiedostopääte
Do While Len(Tiedosto) > 0
Set wbk = Workbooks.Open(Polku & Tiedosto)
tw.ActiveSheet.Cells(Laskuri, 1) = Tiedosto
tw.ActiveSheet.Cells(Laskuri, 2) = wbk.Worksheets("Lokakuu").Range("C17") 'muuta solu C17 sopivaksi
wbk.Close True
Tiedosto = Dir
Laskuri = Laskuri 1
Loop
Set wbk = Nothing
Set tw = Nothing
Application.ScreenUpdating = True
End Sub
Keep EXCELing
@Kunde
Toimii, kiitos! Ei ole eka kerta kun Kunde antaa apuja! =)