Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  30 31 32 33 34 35 36 37 38   další » ... 69

Něco sem narychlo spíchnul. Pokud sem tedy správně pochopil zadání viz soubor

Použiješ funkci NEPŘÍMÝ.ODKAZ
=MAX(NEPŘÍMÝ.ODKAZ("B"&A1):NEPŘÍMÝ.ODKAZ("B"&A2))

@David123
Jelikož se jedná o složitější program, nechtěl jsem ho hned celý nahodit
A to je právě ono, na co jsem Tě chtěl upozornit. To že budeš celý problém dávkovat po kapkách je kontraproduktivní.

Myslel jsem, že jestli program tahá data z externího souboru nebo z toho kde je makro, je jedno.
Ano programu je to jedno, ale někdo ten kód přece musí napsat je dost rozdíl tahat data z listu onoho souboru kde je makro umístěno a nebo tahat data z externích souborů - je zde několik problémů, které je třeba ošetřit (jméno souboru, jméno listu, co se stane pokud se soubor nenalezne tam kde by měl být atd).

To že jsem přidal porovnání třetího sloupce, není přece změna, na změnění celého kódu, ale na připsání další podmínky...
Opět záleží jak je dosavadní kód sepsán. Může a nemusí, ono přece nejde o to jen kupit pod sebe nějaké podmínky, ale je potřeba ošetřit případné chybové stavy, ale to už Ti tu elninoslov psal.

S tou ironií sem to mysle tak, že poděkuješ za čas věnovaný Tvému problému s tím, že není potřeba kód přepisovat pro úsporu času (běhu makra 20s vs 40s), ale jak už sem psal na začátku, zadání dávkuješ po kapkách.

Jelikož se jedná o veřejné fórum a lidi zde radí zcela dobrovolně a ve svém volném čase, myslím, že poděkování na místě je...
Ano s tím naprosto souhlasím.

Vše vychází z toho, že nemáš s makry (programováním) zatím zkušenosti. Jen sem Tě chtěl upozornit na to, že polovičaté zadání je na dvě věci nic víc. Pak už jen záleží na rádci, jek se k tomu postaví (čti než v něm bouchnou saze a vyse*e se na to).

Přeji Ti, ať má elninoslov pevné nervy 2
a podaří se dosáhnout kýženého výsledku.

@David123

Měl bych pro tebe jednu informaci. Pokud chceš aby Ti někdo udělal řešení tzv. na klíč nebo chceš od někoho radu, tak základem všeho je přiložit vzorový soubor a popsat problém - zadání.
Ten popis má být kompletní !!! Nikoliv na etapy co tu předvádíš.

Elninoslov tu vytvoří nějaký kód a pak přijdeš s dost zásadní změnou - s tím, že data se vlastně mají tahat z externích souborů. Přepíše kód a ty znovu přijdeš s další změnou. Elninoslov je evidentně dobrák, že se tomu dále věnuje i když se mu snažíš házet klacky pod nohy. Ono se může stát, že trpělivost jednou přeteče a někdo se Ti na to .....

Ona pak Tvá věta:
"vážně si vážím Tvého času a snahu mi pomoci."
vyznívá tak nějak ironicky.

Ono tohle zadávání úkolů po částech je horší než lepší.

Vím, že s makry jsi na úplném začátku, ale je to stejné jako kdyby za Tebou v zaměstnání někdo přišel, zadal Ti práci a pak v průběhu měnil ono zadání a Ty jsi to stále předělával od začátku.

Nemáš použít funkci SUMIF ale SUMIFS
Jedno kritérium datum, druhé produkt.

Ne, funkce resize mění velikost vybrané oblasti. Proto sem ve videu vložil do kódu ty selecty, aby bylo vidět co se děje na listu.

Day1 = .Cells(2, 1).Resize(R1).Value2
Pole Day1 načte hodnoty z oblasti A2:A7.

Cells(2,1) vybere buňku A2 a funkce rezize roztáhne oblast o 6 (hodnota proměnné R1) řádků včetně. Tedy z oblasti A2 je pomocí resize oblast A2:A7

Co se týče vypsání obsahu pole do listu např:
Cells(1, 2).Resize(UBound(Day1)).Value = Day1

Opět Cells (1,2) vybere buňku B1 resize rozšíří oblast(funkce UBound(Day1) určí horní mez pole - kolik jmen je v poli, tedy 6) na B1:B6 a vloží se hodnoty z pole Day1.

Ještě přiložím upravený soubor ať se v tom můžeš štourat

Ahoj Pole není nutné plnit postupně cyklem, ale je možné naplnit ho "hromadně". Udělal sem video, kde sem doplnil kód o funkci select jen z toho důvodu, aby bylo vidět co se děje na listu. Koukni co se děje na listu a v okně Locals v editoru VBA.

Ještě odkaz na video
http://leteckaposta.cz/902336012

=COUNTIFS($C$6:$AF$6;"<="&$D$4;C7:AF7;"X")

Edit: Nebo ještě maticově
=SUMA((($C$6:$AF$6)<=$D$4)*(C7:AF7="X"))

Záložka DATA a tlačítko TEXT DO SLOUPCŮ (oddělovač čárka).

Když je elninoslov mimo zkusím to.
Sub SkutecnyDluh()

Dim POLE_X
Dim POLE_V
Dim POLE_P
Dim i As Long

POLE_X = Range("X3:X2000").Value
POLE_V = Range("V3:V2000").Value
POLE_P = Range("P3:P2000").Value

For i = LBound(POLE_X) To UBound(POLE_X)
If POLE_X(i, 1) = "*" Then
POLE_V(i, 1) = POLE_P(i, 1)
End If
Next
Cells(3, 22).Resize(UBound(POLE_V)).Value = POLE_V
End Sub

Např:takto
Ps: bacha na Criteria1 vs Criterial (1 vs L)

Pracoval sem z listem "CETR IN". Popravdě se mi moc nechtělo studovat vzorce ve sloupcích D, J a P tak sem jen upravil tak, aby pokud není vyplněn "Realný příjezd" nevracel hodnotu -42.... . Jelikož jsou sloupce D, J, P textové není možné počítat průměr, proto jsou použity vedlejší sloupce, kde je text převeden na číslo. Podle tohoto sloupce se počítá průměr a slouží i pro podmíněné formátování.

Opět matice
=SUMA(KDYŽ(HODNOTA(A6:A16)<=$E$4*(C6:C16=$F$4);B6:B16))

Maticově
=SUMA(KDYŽ(HODNOTA(A6:A16)<=3;B6:B16))

Vyzkoušej.

Edit: List s číslem v G1=999 musí být opravdu poslední. Pokud by byl na jiném místě, makro se předčasně ukončí a všechny listy, které by byli za ním budou z obarvení vyloučeny.


Strana:  1 ... « předchozí  30 31 32 33 34 35 36 37 38   další » ... 69

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

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

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28