Příspěvky uživatele


< návrat zpět

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

Další variantou, která zde nebyla zmíněna, je že otvíraný soubor je jen pro čtení. Má nastaven atribut R.

Pak by chování odpovídalo tomu co popisuješ. Tedy nabízet uložení souboru do standardního adresáře EXCEL.

a ukázku?
možná je to profesionální slepota,taky se mi to stává

a co chybové hlášky???

nebo zaslat ukázku

Nechci být válečný štváč, ale:
radek.Cells(4, 18).Date = "<" & ufSoupiska.tbDo.Value
bych nahradil:
radek.Cells(4, 18).Value = "<" & ufSoupiska.tbDo.Value

třeba
Sub vymaz_radky()
seznam = "List2"
zdroj = "List1"

row_seznam = Sheets(seznam).UsedRange.Rows.Count
row_zdroj = Sheets(zdroj).UsedRange.Rows.Count
i = 2

While i <= row_zdroj
jmeno = Sheets(zdroj).Cells(i, 1)
porovnani = 0
For j = 1 To row_seznam
If jmeno = Sheets(seznam).Cells(j, 1) Then
porovnani = porovnani + 1
End If
Next
If porovnani = 0 And jmeno <> "" Then
Sheets(zdroj).Rows(i).Delete
Else
i = i + 1
End If
Wend
End Sub


List1 (zdroj) obsahuje data všech osob
List2 (seznam) obsahuje seznam jmen pouze vybraných

Je to čitelný kód, tak snad se v tom vyznáš

Konkrétní kód záleží na konkrétním příkladu.
Např For-Next smyčky, nebo while, ....

Zřejmě nejlepší vzorcem vypsat do jiného sloupce podmínku a celý sloupec pak sečít SUMA. Výsledek pak zadávat do formuláře.

Snad jsem pochopil to co popisuješ

Asi bych to řešil dvěma vnořenými cykly.
V prvním (nadřazeném) cyklu bych postupně načítal jména a porovnal je s těmi vybranými. Pokud by se neshodovalo, vymazal bych řádek. Takto až na konec seznamu.

Tímto způsobem se porovnají všechna jména s vybranými a výsledkem by měly být jen ty vybrané.

To je sice hezké, ale co když nebudou spuštěna makra???

Ještě mne napadla jedna myšlenka.
Skrýt všechny listy, zamknout projekt heslem a v proceduře Workbook_Open pak potřebné listy zviditelnit. Samozřejmě pak udělat makro i na proceduru Workbook_BeforeClose, která by zase všechny listy skryla a uložila sešit. Proceduru Before_Save bych zde nepoužil, protože při ukládání by se muselo zakrývat a pak zase odkrývat listy. Pouze ošetřit možnost Uložit jako - tedy znemožnit tuto funkci.

Pokud totiž uživatel nespustí makro a nezná heslo, pak se mu nic nezobrazí a bude odkázán pouze na spuštění makra.

Možná blbost, ale mohlo by to pomoci. Pro obyčejné uživatele určitě ano.

Samozřejmě Pokiho myšlenka je velice vhodná pro kontrolu přístupů. Při omezení na počet přístupů (otevření sešitu) pak místo datumu dát počet otevření a při každém novém otevření sešitu snížit čítač o 1. Pak využít vyhodnocení >0 lze ještě otevřít, 0 poslední otevření a dále nic, <0 lze otevřít kdykoliv (bylo zadáno správné heslo).

Lon.

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


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

Uživatelské menu

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

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