Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  127 128 129 130 131 132 133 134 135   další » ... 289

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

Ten kód predsa musíte dať do listu "List4", lebo ten sa prepočítava, a pri tomto prepočítaní sa aktualizuje Textové pole v liste Hárok1, teda zmente tento riadok na :
With Hárok1.Shapes("txtPoleSpolu").TextFrame2.TextRange
Tieto riadky tam niesú potrebné ak nemeníte nikde farbu:
Dim text As String
.Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
a 2x
.Fill.ForeColor.RGB = RGB(0, 0, 0)

Možno tak jedine udalostné makro ("Calculate"), vzorec tam nemôže byť.

No máte tam v S1
12Kč / likometr
nemá to byť
12Kč / kilometr
?

Hmm, no je pravda, že je to trochu svojsky riešené. To nieje výtka. Ja by som si vyberal napr aj mená z výberového zoznamu (Overenie dát) bez prepínania listu. Ak je potrebné veľmi často zadávať doteraz nepoužité mená, tak VBA formulárom. Každopádne teraz na to nemám chuť 7

Len 2 poznámky:
-To mazanie čo spomínate (a to len tipujem, neskúmal som) je možno tým, že nepoužívate premennú na uchovanie hodnoty, ale neustále hľadáte prvý voľný riadok v A. Ten nájde, ale ak zapíšete do A novú hodnotu, v ďalšom riadku kódu chcete písať do B, ale ako prvá prázdna bunka v A už nieje tá, ako pred chvíľou, lebo ste ju zapísal. A bunky treba zapísať naraz, nie po jednej.
-A druhá poznámka s tým súvisí, tie makrá by sa mali prepracovať. Dajú sa urobiť oveľa jednoduchšie, napr. mazanie hodnôt
Sub VYMAZ()
With ActiveSheet
.Unprotect "0000"
.Shapes(Application.Caller).TopLeftCell.Offset(0, -10).Resize(, 10).ClearContents
.Protect "0000"
End With
End Sub

alebo to pridávanie žiadosti:
Sub PRIDAJ_DO_ZOZNAMU_ZIADOSTI()
With ActiveSheet
If .Range("H2").Value = 47 Or .Range("I2").Value = 47 Or .Range("J2").Value = 47 Then Exit Sub
.Unprotect "0000"
.Cells(19, 1).End(xlDown).Offset(1, 0).Resize(, 9).Value = Array(.Cells(9, 2), .Cells(9, 3), .Cells(9, 6), .Cells(12, 2), .Cells(12, 3), .Cells(12, 6), .Cells(7, 2), .Cells(7, 9), .Cells(9, 9))
.Cells(2, 1).Resize(, 10).Formula = Array(0, 0, 0, "=C2/2", 0, "=E2/2", 0, 47, 47, 47)
.Protect "0000"
End With
End Sub

atď...

A opravte si tú kilometrovú sadzbu 5 (opravte, nie upravte)


Strana:  1 ... « předchozí  127 128 129 130 131 132 133 134 135   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