< návrat zpět
MS Excel
Téma: Dynamická práce s proměnným množstvím sešitů
Zaslal/a tomxxx007 13.2.2012 8:42
Mám dotaz. Každý den se mi vytváří jeden excel, s nazvem ve formatu XXX_DATUM. mám dále jeden excel, kde bunky s jednotlivých excelu nějak počítám.(prumeruju, scitam...) existuje makro,které si samo zjistí počet excelu, všechny projde načte hodnoty z konkretních buňek, vypočte je a vlozi do souhrnného sešitu?
RomanNTA(13.2.2012 12:07)#007273
Sub ProvedOperaci(sesit As Worksheets)
ThisWorkbook.ActiveSheet.Range("A1").Value = _
sesit("List1").Range("A1").Value
End Sub
Sub OtevreneSesity()
Dim c
For Each c In Workbooks
Debug.Print c.Name
If c.Name <> ThisWorkbook.Name Then
sesit
End If
Next c
End Sub
Procedura OtevreneSesity vypíše všechny otevřené sešity kromě sešitu, ze kterého je spouštěné makro.
A zavolá proceduru ProvedOperaci které předá jméno sešitu. V proceduře můžeš udělat co potřebuješ. ThisWorkbook je sešit z kterého je spouštěné makro. R.
citovat
tomxxx007(13.2.2012 12:26)#007274 Mozna si ne zcela rozumime. ja tyto sesity otevrene nemam,ale mam je ve slozce. otevirat je si ani moc nepreju.
citovat
RomanNTA(13.2.2012 14:42)#007275 Tak z adresáře ...
Function soubory()
Dim fs As Object
Dim f As Object
Dim adresar As String
On Error GoTo LabelErr
With Worksheets("List1")
.Activate
Set fs = CreateObject("Scripting.FileSystemObject")
adresar = "C:\Table\"
For Each f In fs.Getfolder(adresar).Files
Debug.Print f.Name
Call ProvedOperaci(f.Name)
Next f
End With
LabelErr:
End Function
Standardně tak fungují vzorce a aktualizace vzdálených odkazů. Nevím o způsobu načítání ze souboru aniž bych jej otevřel. Nyní mám seznam souboru, můžu zavolat pro každý soubor funkci, která jej zpracuje a pak soubor můžu zavřít. R.
citovat