Ukážte presne čo obsahuje
FolderPath
aFolder
Sheets("Definice poptávky").Cells(a, 1).Value
v momente chyby
Všetko variabilné:
Sub VyberOdDo()
Dim CisloRadkuOd As Long, CisloRadkuDo As Long
Dim CisloSloupceOd As Long, CisloSloupceDo As Long
CisloRadkuOd = 2
CisloRadkuDo = 3
CisloSloupceOd = 5
CisloSloupceDo = 8
ActiveSheet.Cells(CisloRadkuOd, CisloSloupceOd).Resize(CisloRadkuDo - CisloRadkuOd + 1, CisloSloupceDo - CisloSloupceOd + 1).Select
End Sub
Sub VyberOdPocet()
Dim CisloRadkuOd As Long, PocetRadku As Long
Dim CisloSloupceOd As Long, PocetSloupcu As Long
CisloRadkuOd = 2
PocetRadku = 2
CisloSloupceOd = 5
PocetSloupcu = 4
ActiveSheet.Cells(CisloRadkuOd, CisloSloupceOd).Resize(PocetRadku, PocetSloupcu).Select
End Sub
pavol14pavol napsal/a:
v Tabulke A prvy stpec(nazov) musi byt umiestneni v bunkach C32 az C60 a druhy stlpec (predaj) I32 az I60 presne tak ako je ulozena v tejto tabulke.
pavol14pavol napsal/a:
...presne tak ako je ulozena v tejto tabulke...
Ale veď ono to je vlastne jednoduché. INDEX+MATCH zabezpečí výber stĺpca s požadovaným dátumom. COUNTIFS vyberie z neho iba riadky spĺňajúce pracovnú pozíciu podľa B a tím podľa riadku 2. A potom príde to čaro, že COUNTIFS ako podmienku pre spĺňajúce riadky daného stĺpca, otestuje či začínajú na písmená smeny uvedenej v A ako názov oblasti smeny. Maticový vzorec to musí byť práve preto aby COUNTIFS testoval a vrátil toľko výsledkov, koľko je parametrov v danej smene, teda 5. Týchto 5 výsledkov bude vždy vyzerať tak, že budú 4x0 a 1x1, lebo bude daná bunka začínať práve jedným označením smeny. Preto to musíme potom zrátať cez SUM. A buď dostaneme 0 alebo 1.
EDIT:
Ešte ma napadlo, aby to nebol maticový vzorec ale normálny, stačí vymeniť SUM/SUMA za SUMPRODUCT/SOUČIN.SKALÁRNÍ.
Pr.
ata napsal/a:
...Nějaký rychlejší způsob ?...
Ak poznáte meno súboru, mená listov a umiestnenie dát, teda netreba napr zisťovať počet riadkov a pod, tak stačí makrom hromadne zapísať vzorec do buniek cieľového zošita s odkazom na bunky, ktoré nás zaujímajú v tom zatvorenom. To je tiež rýchlejšie ako otváranie súboru.
Treba prílohu zdroju aj cieľa.
Vyskúšajte či je toto správne (maticovo Ctrl+Shift+Enter):
=IF(SUM(COUNTIFS($B$21:$B$35;$B3;$C$21:$C$35;C$2;INDEX(Dochadzka;;MATCH($A$1;$E$18:$M$18;0));INDIRECT($A3)&"*"));"OK";"NOK")
=KDYŽ(SUMA(COUNTIFS($B$21:$B$35;$B3;$C$21:$C$35;C$2;INDEX(Dochadzka;;POZVYHLEDAT($A$1;$E$18:$M$18;0));NEPŘÍMÝ.ODKAZ($A3)&"*"));"OK";"NOK")
A čo ak by to bol jednoduchý PQ dotaz?
To by ma zaujímalo ako sa dá zistiť, že dnes na riadku 15 výraz "Praha 10" znamená "Praha 10", a zajtra na riadku 15 bude výraz "Praha 4" znamenať "Praha 10"
Alebo inak, že výraz "Praha 4" na riadku 50 znamená vlastne "Praha 10" a má byť na riadku 15 medzi ostatnými "Praha 10" ale zapísaný ako "Praha 4".
Máte pravdepodobne formát bunky ako "Text".
promíchat sloupce mezi sebou
A prečo chcete všetko mať cez VBA? Upravil som Vám ten formulár v Exceli, a VBA iba zapisuje nové položky.
Ďalší príklad. Na popis nemám čas. Podľa mňa to takto ale nieje dobre. Mali by ste zadávať data pod seba do Tabuľky (s pomocnými stĺpcami na zdvojené 1/2), a urobiť KT, kde si vyfiltrujete osoby.
=COUNTIF(A1:A6;C2)>0
C2 - hľadaná hodnota
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.