Příspěvky uživatele


< návrat zpět

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

čárky nahradit středníkem

Podívej se na syntaxi funkce DATUM(rok;měsíc;den)

Netuším proč by měl mazat ' " & l & " '! - je to odkaz na list, ve kterém má data.

Možná bych se zaměřil na druhou podmínku. Není vyhodnocena jako textová.

Teď Excel 2007 (2010) nemám, ale v 2003 je nesprávně vyhodnocena textová podmínka. Chybí uvozovky.

Spíše by to chtělo konkrétní ukázku s daty, aby si nikdo nic nemusel vymýšlet..

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


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

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