Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  103 104 105 106 107 108 109 110 111   další » ... 289

Najjednoduchší spôsob vzorcami je asi takto - pomocný stĺpec v každej Tabuľke.

Maticový vzorec vynechá prázdne riadky.

Podľa toho, čo som čítal na niekoľkých fórach, nie si sám čo mu tento bug "spríjemňuje" život. Opravujú to už vraj 2 roky, tak by som sa príliš na nápravu nespoliehal. Všeobecná zhoda je zatiaľ na použití ExcelTable ako jediného objektu na liste a začínajúcej v A1. Číta to potom ako akýkoľvek iný list bez ExcelTable.
let
Source = Excel.Workbook(File.Contents("D:\Dokumenty\pom.xlsb"), null, true),
xlTbl_CatalogueData_Table = Source{[Name="CataloguedData"]}[Data],
#"Hlavičky so zvýšenou úrovňou" = Table.PromoteHeaders(xlTbl_CatalogueData_Table, [PromoteAllScalars=true])
in
#"Hlavičky so zvýšenou úrovňou"

Presne tak. Snažíte sa vytvoriť podadresár v neexistujúcom adresári. Použite nejakú parametrizovanú procedúru na vytvorenie celej adresárovej štruktúry. Napr. narýchlo takéto niečo:
Sub VytvorAdresar(Cesta As String)
Dim sC() As String, dC() As String, i As Byte
If Right$(Cesta, 1) <> "\" Then Cesta = Cesta & "\"
dC = Split(Cesta, ":\")
sC = Split(dC(1), "\")
Cesta = dC(0) & ":"
For i = 0 To UBound(sC)
If sC(i) <> "" Then
Cesta = Cesta & "\" & sC(i)
If Len(Dir(Cesta, vbDirectory)) = 0 Then MkDir Cesta
End If
Next i
End Sub

Areas za iných okolností áno, ale nie v UsedRange. Tu by sa muselo asi zisťovať po jednom, či bunka obsahuje rám, podmienený formát, overenie údajov a pod. Samozrejme hodnotu, ale tá by sa ako jediná dala testovať rýchlo cez pole, či hromadne cez SpecialCells, prípadne maticovým EVALUATE s testom riadkov aj stĺpcov. Jednoduché to nebude.

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.

Aké C32:C60 a I32:I60 ??? Ja tam vidím C36:C53 a I36:I53!

Upavené makro na

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 ?...

Takže neposkytnete bližšie info a prílohy? Tak nič, no.

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" 9
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". 8


Strana:  1 ... « předchozí  103 104 105 106 107 108 109 110 111   další » ... 289

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35