Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  125 126 127 128 129 130 131 132 133   další » ... 287

Do H12 dajte toto, a potiahnite vzorec po H14:
=IF(COUNTIF($B$12:$B$35;B5)>0;B5;"")
=KDYŽ(COUNTIF($B$12:$B$35;B5)>0;B5;"")

Ako inak, nastáva tam mnoho problémov. Môže to byť prázdna bunka, vzorec, maticový vzorec, Boolean, dátum, čas, text, ...)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bunka As Range, H
Const POSUN_DES_MIEST = 2 '+X vľavo, -X vpravo, 0 nič

Application.ScreenUpdating = False
Application.EnableEvents = False

On Error Resume Next
For Each Bunka In Target.Cells 'Kontroluj všetky zmenené bunky
With Bunka
H = .Value 'Čiastočné zrýchlenie - kontrola hodnoty je rýchlejšia ako kontrola bunky

Select Case True
Case IsEmpty(H) 'je prázdna - nič
Case .HasFormula 'je vzorec (aj maticový) - nič
Case VarType(H) = vbBoolean 'je boolean - nič
Case IsDate(.Text) 'je čas - nič (nefunguje ak je stĺpec úzky natoľko, že sa zobrazia # mriežky, vtedy to považuje za číslo a čiarku posunie)
Case IsNumeric(H)
.Value = H / (10 ^ POSUN_DES_MIEST) 'je číslo (vynechá dátum) - posuň čiarku
End Select
End With
Next Bunka

If Err.Number <> 0 Then MsgBox "Počas úpravy desatinnej čiatky došlo k chybe." & vbNewLine & "Niektoré úpravy nemusia byť správne.", vbCritical, "Chyba"

Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Tak to mi hlava neberie, akým kľúčom sa rozhoduje o tom, čo bude v tých bunkách.
1. Vždy sú pre daný dátum 4 riadky ?
2. Vždy sú v D:D rovnako sa opakujúce rovnaké hodnoty, teda "ABAB" ?
3. V stĺpci N:N sú 4 bunky pre každý deň. Načo sú potom vo výsledku 4 dvojice (tie zlúčené orámované bunky) ? To by muselo byť pre 1 deň 8 riadkov.
4. Podľa prílohy vychádzam z kľúča, že :
-1. dvojica výsledku= 1. riadok dňa v N + 3. riadok dňa v N
-2. dvojica výsledku= 2. riadok dňa v N + 4. riadok dňa v N
Aký kľúč rozlúskne 10-ty týždeň 04.03.2019 ?
5. Prečo sú medzi výsledkovými "skupinami riadkov" nerovnomerné medzery (2,3,4 riadky) ?

-Rozsah riadkov v K je rovnaký vo všetkých listoch ? Ak áno, na ktorom riadku končia dáta?
-Od ktorého riadku začínajú dáta?
-Všetky dáta sú inak formátované? Teda treba kopírovať aj formát? Alebo je výsledková tabuľka predformátovaná, a stačí vložiť iba údaje? Pýtam sa preto, či treba používať Copy+Paste alebo pole dát, ktoré je rýchlejšie.
...

Alebo aj 2 iné príklady.

Za predpokladu, že sú tie hodnoty pre dané číslo práve 3, a za predpokladu, že je to tak, ako to máte v prílohe, teda, že je v stĺpci A:A to číslo iba pri prvej hodnote, a ďalšie 2 hodnoty pod tým nemajú to číslo. Ak je to inak, napr. tých hodnôt v B:B je neurčité množstvo, alebo má každá hodnota k číslu 1 iné umiestnenie a zároveň má pri sebe aj ten identifikátor 1, a pod., treba to urobiť inak, každopádne treba dať v tom prípade presnejší popis.

Ctrl+C - v novom zošite pravý klik na prvú ľavú bunku - Prilepiť špeciálne - Ponechať šírky zdroja. Skopíruje to hodnoty, formáty, šírky, vzorce, výplne, podmienené formátovanie, orámovanie, ...

Office 2019 (predpokladám, že aj 2016), ak dám Údaje - Z webu - ako zdrojovú adresu zadám
http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.jsp
OK - vyberiem strednú tabuľku "Platnost pro XYZ" - Upraviť - nabehne PowerQuery - vpravo mám Nastavenia dotazu - Vlastnosti - Názov - tam prepíšem aby ma nemýlilo to "Platnost pro 22 02 2019 Pořadí: 38" na "Kurz" - Zavrieť a načítať.
Vytvorí sa Tabuľka "Kurz", ktorá podľa mňa nieje napojená na určený dátum, ale na aktuálny kurz, lebo v kóde dotazu nieje špecifikovaný žiaden konkrétny dátum:
let
Zdroj = Web.Page(Web.Contents("http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.jsp")),
Data1 = Zdroj{1}[Data],
#"Zmenený typ" = Table.TransformColumnTypes(Data1,{{"země", type text}, {"měna", type text}, {"množství", Int64.Type}, {"kód", type text}, {"kurz", type number}})
in
#"Zmenený typ"

Iba aktualizujete Tabuľku "Kurz".

Cez INDEX+MATCH/POZVYHLEDAT alebo VLOOKUP/SVYHLEDAT si nájdete požadovaný kurz vzorcom. Prípadne si z PQ dotazu zmažte stĺpce, ktoré nepotrebujete, alebo vyfiltrujte iba jedinú položku, ktorú hľadáte.

EDIT: Pridal som nejaký ten príklad.

Príklad generovania do voliteľných multioblastí.

Funguje ? O tom pochybujem. V prvom zadaní je *0,75, v druhom /0,75.
Ak by sa jednalo vždy o násobenie (a nie v treťom prípade o delenie), tak je možností kvantum, napr.:
=K1*D9*IF(B9="B";0,5;IF(B9="O";1;IF(B9="K";0,75;0)))
=K1*D9*KDYŽ(B9="B";0,5;KDYŽ(B9="O";1;KDYŽ(B9="K";0,75;0)))

ak by bolo násobkov väčšie množstvo, tak ďalej napr.:
=IFERROR(K1*D9*INDEX({0,5;1;0,75};MATCH(B9;{"B";"O";"K"};0));"")
=IFERROR(K1*D9*INDEX({0,5;1;0,75};POZVYHLEDAT(B9;{"B";"O";"K"};0));"")

=IFERROR(K1*D9*CHOOSE(MATCH(B9;{"B";"O";"K"};0);0,5;1;0,75);"")
=IFERROR(K1*D9*ZVOLIT(POZVYHLEDAT(B9;{"B";"O";"K"};0);0,5;1;0,75);"")

=IFERROR(K1*D9*INDEX({0,5;1;0,75};SEARCH(B9;"BOK"));"")
=IFERROR(K1*D9*INDEX({0,5;1;0,75};HLEDAT(B9;"BOK"));"")

Alebo prípadne, ako sa to bežne robí, je prevodná tabuľka hodnôt (v tomto prípade násobičov).

V každom prípade si ošetrite cez Overenie dát, možnosť zadať iba povolené hodnoty do B9.

Ten 3. požadovaný výsledok, máte nesprávny :)

Zvládne to aj hromadnú zmenu.

1. Prečo spúšťate makro s názvom "Makro1" z modulu "Module1"? To je iba zabudnuté skúšobné makro z rekordéru makier, keď som si chcel nahrať ako vyzerajú parametre. Skutočné makro,"Worksheet_Calculate", ako som spomínal, je predsa v module listu "List4".
2. A to "Worksheet_Calculate" Vy nijako nespúšťate, to sa robí samé.
3. Čokoľvek kamkoľvek kopírujete, musíte si overiť, či sedia napr. rozsahy, adresy, názvy objektov a pod. Neviem, čo Vám tam robí chybu, a nechce sa mi skúmať. Prihoďte reálny súbor, v ktorom to nefunguje, a označte, zdrojové data, a na ďalší list dajte ako má presne vyzerať výsledok. Možno keď bude čas ...

Maticový vzorec (je v Definovanom názve),a potom len VLOOKUP/SVYHLEDAT. Mne sa nepáčia tie rozsahy čo tam máte. Niekde milión riadkov, inde 3000, potom 5500 alebo 3300, či ako to tam bolo...
Seznam_měřidel - som nastavil na 3000 dátových riadkov, aj rám aj Podmienený formát
Čeká na kalibraci - som nastavil na 1000 dátových riadkov, aj rám aj Podmienené formátovanie, odstránil som Overenie dát lebo v tomto liste je výpis, nemáte tam nič meniť, a zmenil formát posledných stĺpcov s dátumami.

Okrem VLOOKUP/SVYHLEDAT sa to dá aj tak, že by matica vracala nie číslo meradla, ale číslo riadku, a potom by sa ten VLOOKUP() vymenil za INDEX(). Možno to bude rýchlejšie, viď Čeká na kalibraci (2).

Jedine udalostné makro:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Jmeno As String
If Not Intersect(Cells(3, 2), Target) Is Nothing Then
Application.EnableEvents = False
On Error Resume Next
Jmeno = WorksheetFunction.VLookup(Cells(3, 2), wsData.ListObjects("tblHesla").DataBodyRange, 2, False)
Cells(3, 2) = IIf(Err.Number = 0, Jmeno, Empty)
Application.EnableEvents = True
End If
End Sub


Strana:  1 ... « předchozí  125 126 127 128 129 130 131 132 133   další » ... 287

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