Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 16

opravit si text cs="........" a us="........"

např.
cs="="
us=" "
pro případ, že chceš = nahradit znakem mezera

Napsat funkci:
Function UkazVzorec(Cell As Range) As String
UkazVzorec = Cell.Formula
End Function

Function UkazVzorecCesky(Cell As Range) As String
UkazVzorecCesky = Cell.FormulaLocal
End Function


a do příslušné buňky vložit:
=UkazVzorecCesky(bunka)

nebo=ukazvzorec(bunka)

Nevím, zda jsem pochopil správně Tvůj dotaz, ale vzorec Tebou uvedený je má pár chyb.

=KDYŽ(JE.CHYBHODN(VYHLEDAT(B1;Data!B:B)=B1);"x";SVYHLEDAT(A5;Data!A:D;4;NEPRAVDA));
1. problém je v relativní hodnotě B1 [uvedl bych zde $B$1 - VYHLEDAT($B$1;Data!B:B)=$B$1)]

2. výraz SVYHLEDAT vrátí vždy chybu pokud porovnáváš A5 s datumem [správně SVYHLEDAT(A5;Data!C:D;2;NEPRAVDA)] - pak vrátí hodnotu ze sloupce D listu DATA

Pokud se jedná o dva sešity, jak uvádíš, pak nezapomeň na to, kde tyto sešity jsou uloženy. Pokud se jedná o listy v jednom sešitu, pak není potřeba nic dalšího měnit.
celý vzorec bych viděl:
=KDYŽ(JE.CHYBHODN(VYHLEDAT($B$1;Data!B:B)=$B$1);"x";SVYHLEDAT(A5;Data!C:D;2;NEPRAVDA))

Ovšem musí se také vyhodnotit chybová hodnota funkce SVYHLEDAT, popř omezit hledání na neprázdnou hodnotu buňky A v listu Form (podmínkou KDYŽ). To ale již zvládneš.
4

Add 4) - vytvoření seznamu - zkopírovat buňky ve kterých jsou uvedeny názvy institucí do nově vytvořeného listu. Označit celou oblast zkopírovaných hodnot a použít funkci Odebrat stejné.
Pojmenovat záhlaví dle zadání.
Pro vytvoření počtu účastníků z jednotlivých institucí použít funkci COUNTIF.

Add 5) - Seřazení předpokládám zvládnete, součet všech účastníků snad také a počet institucí - napovím, že lze využít stejnou funkci (COUNTIF) jen musíte přemýšlet o podmínce.

Lon

Vzorec pro výpočet Velikonočního pondělí:

=(KČ(("4/"&C4)/7+MOD(19*MOD(C4;19)-7;30)*14%;)*7-6)+1
; kde buňka C4 obsahuje rok, pro který chcete výpočet provést.

Lon

Navrhoval bych řešení od Vasey, malinko poupravené
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim cisla$
Dim radek!

radek = 3
For radek = 3 To UsedRange.Rows.Count
cisla = Range("d" & radek)
If cisla <> Empty Then
Range("e" & radek).FormulaR1C1 = "=" & cisla
Else
Range("e" & radek) = Empty
End If
Next radek

End Sub

Toto makro vložit do příslušného listu, má jedinou nevýhodu - při velkém počtu dat může brzdit výpočet

Lon

Zvolil bych funkci vyhledání souboru
záleží na verzi MSO protože to co funguje v MSO 2003 nefunguje v MSO 2007

Dát do cyklu a skrýt podle prázdné buňky

For i = 1 To 50 ' pro 50 řádků od 1
If Cells(i, 1) = Empty Then ' buňka ve sloupci A je prázdná?
Rows(i).Hidden = True ' ano, skryj řádek
End If
Next i


Lon


For n = 1 To 200
Cells(1, 1) = n
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Next

kde Cells(1,1) je buňka A1

pak bych zkusil zpodmínkovat formou vložení do
Sub UserForm_Activate()
nazev_prvniho_textboxu.Visible = True
nazev_druheho_textboxu.Visible = False
.
.
.
.
nazev_posledniho_textboxu.Visible = False
..........
Tímto se zobrazí pouze první textbox.

Při vyplnění (změně) prvního textboxu, tedy do

Sub nazev_prvniho_textboxu_Change()
zadat podmínku pro vyhodnocení zda je prázdný či nikoliv a
nazev_druheho_textboxu.Visible=True
.......... atd pokračovat až do konce.

Možná po někoho krkolomný popis, ale bez konkrétního zadání a ukázky se "vaří" jen těžko.

Lon

No ale vždyť to funguje jak má???
Co tam je za problém?
Datumy říjen tam nejsou a ani nemohou být zpracovány

ZNOVU OPAKUJI:
hodnoty do sloupce K (tedy 1) zapisuje makro. To je z důvodu nenačítání duplicitních údajů.
Tedy při zadávání dat je nutné ponechat sloupec K nevyplněný!!!


Toto jsem popisoval již několikráte výše

Lon

Aha, domnívám se, že jsi určitě vyplnil i sloupec K při zadání údajů. Ten slouží pouze pro to makro aby nedocházelo k duplicitám, tak jak jsem psal výše (proč ten sloupec využívá makro).
Samozřejmě pokud v daný den nebude sešit otevřen, pak se nic nezapíše.
stačí zaměnit
If Date = CDate(datum) Then
za:
If Date >= CDate(datum) Then
pak při otevření se zapíší všechny starší nezapsané hodnoty.

Vycházel jsem z původního zadání

Lon

To je velice zvláštní, teď jsem povedl pouze zkopírování pár položek a zadal datum říjen a změnil jsem systémový čas.
Vše funguje naprosto v pohodě.

Kontroluje se pouze odpovídající den, tak jak bylo popsáno v zadání.

Nevím co více by se Vám mělo dále kopírovat????

Tak to bylo popsáno v zadání.
pokud je ve sloupci K zapsána 1, pak je údaj zpracován v daném měsíci na jeho kartě.
Pokud tam je jiná hodnota, pak se považuje za "nezkopírovaný" - kvůli duplicitám při opakovaném otevření sešitu v zadaný den.
Neví co je myšleno pojmem - Dá se s tím něco udělat???

Lon

Musí to fungovat v jakémkoliv měsíci.
Od toho je podmínka:
If Date = CDate(datum) Then
ta vyhodnocuje zadaný den.

Můžete zkusit cvično změnu systémového datumu Vašeho PC a uvidíte.
POZOR na nesprávně zapsané datumy jako jsou 31.září 2010, adt.... NENÍ OŠETŘENO

Lon


Strana:  1 ... « předchozí  6 7 8 9 10 11 12 13 14   další » ... 16

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje