Ahoj, diky za postouchnuti. Po delsim badani, jsem to konecne rozchodil k obrazu svemu. Je to trochu pomalejsi (neni to tim, ze jsem nepouzil pole pro vycuc hodnot ze souborů?), ale je to asi tim oteviranim vsech souboru.
V dalsi fazi se budu snazit z hlavniho souboru prepisovat nektere bunky v podsouborech, ale to uz bude snad jen alternativa tohohle :)
diky!
Sub nejmakro()
Dim poleNazvu()
Dim kolemNazvu()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim x As Integer
Dim xlApp As New Excel.Application
MyFile = FileSystem.Dir(Application.ThisWorkbook.Path & "\VaN\" & "*.*")
Do While MyFile <> ""
ReDim Preserve poleNazvu(x)
poleNazvu(x) = MyFile
MyFile = FileSystem.Dir
x = x + 1
Loop
a = UBound(poleNazvu) + 1
Range("A1").Value = a
ActiveSheet.Range("a3:m200").ClearContents
'For c = 0 To a - 1
'Cells(c + 3, 1) = poleNazvu(c)
'a je pocet souboru, poradi posledniho je ale a-1
'Next
For c = 0 To a - 1
xlApp.Workbooks.Open (Application.ThisWorkbook.Path & "\VaN\" & poleNazvu(c))
Cells(c + 3, 7) = xlApp.Cells(12, 3)
Cells(c + 3, 9) = xlApp.Cells(13, 19)
Cells(c + 3, 10) = xlApp.Cells(15, 19)
Cells(c + 3, 11) = xlApp.Cells(16, 19)
xlApp.Workbooks(poleNazvu(c)).Close
Next
Range("a1").Select
End Sub
tak jsem se do toho pustil, castecne chapu princip a snazim se to upravit k obrazu svemu.
vytvoril jsem toto:
Sub nejmakro()
Dim p1() As Integer
Dim p2() As Integer
Dim a As Integer
Dim b As Integer
Dim x As Integer
MyFile = FileSystem.Dir(Application.ThisWorkbook.Path & "\XLS\" & "*.*")
Do While MyFile <> ""
ReDim Preserve p1(x)
p1(x) = MyFile
MyFile = FileSystem.Dir
x = x + 1
Loop
For a = 1 To 2
Cells(a, 1) = p1(a)
Cells(a, 1) = p1(a)
Next a
End Sub
prvni cast mi skenuje nazvy vsech souboru v slozce.
dale bych chtel, aby to vsechny soubory otevrelo, jako v puvodnim kódu a přečetlo v kazdem souboru tri konkretni (ve vsech stejne) bunky a jejich hodnoty vepsalo do hlavniho souboru.
Prosim o nasmerovani spravnym smerem, co se tyce kodu pro precteni tech tri bunek :) nemusi to bejt hotovej kod, jen takovy nakopnuti, rad se v tom pohrabu sam. ale nejak si nevim rady s tou syntaxi. jo a preferuju neco laikovy prehlednejsiho, napr. pole.
diky moc
koukal jsem na ten navod od Lucie a postupem casu a studiu na dalsich strankach jsem to pochopil, je to chytry. Bohuzel jsem zapomnel uvest, ze to potrebuju pocitat pres vice listu, kde zas countif nefunguje, musel by se nejak poupravit.
Nakonec jsem to jednoduse vyseril timhle
=SUMA(KDYŽ(oblastA<>"";(KDYŽ(ČETNOSTI(oblastA;oblastA)>0;1;0))*(oblastB=hodnota);0))
Hezkej clanek o maticich je tady na Wallu! Maticove vzorce II: http://wall.cz/excel-navod/maticove-vzorce-ii.
hm...
diky
Díky moc za rychlý a jednoduchý řešení. Jednoduchý zápisem, ale budu se snažit pochopit...
Zdravim excelisty. Narazil jsem na problém: ve sloupci A mam datum, ve sloupci B napr. prodane veci (prodavam a,b,c). Kazdy den prodam jen veci jednoho druhu, treba jen acka. Ale kazdy druh (a,b,c) ma modely - a.1, a.2 apod. to je v dalsim sloupci, to nas ale nezajima. Tabulka tedy vapada nakonec tak, ze mam treba ctyri radky se stejnym datumem a druhem prodanyho predmetu.v pondeli jsem prodal pet acek, v ut zase becka, v stredu zase acka, atakpod. co bych chtel je nekde vedle mit malou tabulku pro a,b,c a u nich pocet dni, v kterych jsem jednotlive druhy prodal - chci zjistit, ze acka jsem prodal celkem v sesti dnech. becka jsem prodal jen v jednom dni, atd.
Preferuju nejakej vzorec pred VBA. zkousim hledat pres suma(kdyz(četnosti() , skalarni soucin(to je fakt peklo na pochopeni), apod. ale nedari se. principielne dokazu zjistit pocet jedinecnych datumu, ale uz nedokazu vyfiltrovat ty datumy pro jednotlive predmety.
Predem moc dik za pomoc.
Aha, takze to vlastne poradne nejde. Diky za vycerpavajici referat :)
snazim se to nejak vstrebat, ale ty pivka by byli snadnejsi. Kde ziskavas takovyhle info?
Teda ty to sem sazis, to posledni uz je hafo jednoduchy.
Snazim se to napasovat so souboru, aby to fungovalo pri jeho zavirani, ale at zkusim cokoliv, stejne naskoci jen napoveda. Doufam, ze to predelavam spravne, ale presto, nevytvoril bys soubor, v kterym se pas pri otevreni minimalizuje a pri zavreni zase obnovi, aby kdyz pak otevru jiny soubor, byl pas karet celej. ? dik tak jako tak!
Nevite pls, jak obnovit ten panel nastroju z minimalizovani?
zde soubor
Ahoj, narazil jsem na dalsi vec.
Chtel jsem udelat, aby soubor pri otevreni skryl Mrizku, Nadpisy, Radek vzorcu, to se povedlo. Ale taky aby si minimalizoval panel nastroju, coz se taky povedlo. Udelal jsem to timto kodem:
Sub ShowGridHeader()
Application.ScreenUpdating = False
With ActiveWindow
' zobrazeni mrizky
.DisplayGridlines = True
' zobrazeni nadpisu (cisla a pismena)
.DisplayHeadings = True
' zobrazeni radku vzorcu
.Application.DisplayFormulaBar = True
End With
Application.ScreenUpdating = True
End Sub
Sub HideGridHeader()
Application.ScreenUpdating = False
With ActiveWindow
' zobrazeni mrizky
.DisplayGridlines = False
' zobrazeni nadpisu (cisla a pismena)
.DisplayHeadings = False
' zobrazeni radku vzorcu
.Application.DisplayFormulaBar = False
End With
Application.ScreenUpdating = True
End Sub
Sub Minimize_Ribbon()
If Application.CommandBars("Ribbon").Height > 80 Then SendKeys "^{F1}"
End Sub
Sub Full_Ribbon()
' If Application.CommandBars("Ribbon").Height < 80 Then SendKeys "^{F1}"
SendKeys "^{F1}"
End Sub
Bohuzel, pri zavirani bych chtel aby se to zase vse pozapinalo. Vsechno fungovalo mimo panelu nastroju. misto toho aby se objevil, vzdy naskocila napoveda excelu (JAKO BY V KODU BYLO IGNOROVANO CTRL A MACKALO SE JEN F1).
Na netu jsem nasel dalsi reseni (viz prilozeny soubor). To ale schovava uplne vsechno nahore, OTAZKA1: nevite jak se to da zpatky zobrazit z toho otevrenyho souboru?
Otazka2: jak by sa dal vyresit prvni pripad? proc se zapina ta napoveda?
Nahledal jsem azaz a vicemene jsem nasel, ze to trapi vic lidi. Predem diky, Danny
Velka parada! Ted uz to beha jak ma a to vcetne fajfek v dialogu filtru. Diky moc
:) moje chyba, mel jsem to zduraznit.
S pomocnyma sloupcema by to slo resit s uspokojivym vysledkem co se tyce zobrazeni, ale ne principu akce. Nemusis vymejslet fungujici code, budu vdecnej kdyz me nakopnes spravnym smerem, jaky fce a princip bys treba pouzil, osnovu. Jsem ve fazi velke motivace ucit se, tak se budu snazit si to pak uz poskladat...
Diky za upravu :) !!
Jo je to divny s tim filtrem.
Myslim to tak, ze kdyz uz mam v danem sloupci filtr (treba jsou skryte hodnoty OS) a spustim makro na skryti tech tri, tak bych chtel aby OS bylo stale skryto a zustaly videt jen hodnoty ktere byli neskryte minus ty tri :)
ted mi to funguje tak, ze to sice skryje ty tri, ale jinak vsechny ostatni zobrazi, coz jde udelat mnohem jednoduseji. (skryt a zobrazit jsou asi lepsi slova :))
ASi jen neco maleho prehlizim. Verim ze ten tvuj code funguje, ale tim ze nepozna ten filtr, tak pak zobrazi vsechny dalsi hpodnoty? (ze nepozna ze uz je neco skryte?) nepovedlo se mi to rozchodit
Tady je soubor. Jde o sloupce "Styl". ted jsem tam vypnul hodnotu "OS" tak bych si predstavoval ze po spusteni makra bude OS stale vypnute a k tomu se vypne jeste -,2,AF. jde mi spis o princip jak se to dela, nez napasovani do souboru. diky
PS: mam jeden prazdnej sloupec nalevo od tabulky.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.