Jediné co Vám mohu poradit je free i pro firmy:
např. WampServer (apache, php, SQL) a napsat si webovou aplikaci v php - může být i pro více uživatelů v podnikové síti.
Pravděpodobně by to bylo jednodušší a schůdnější než psát makra.
zac = 1
kon = 65535
For n = zac To kon
If Empty <> Cells(n, 2) And Empty = Cells(n, 4) Then
Rows(n).Hidden = True
End If
Next n
Lon
To POKI:
zase malinko přidám. Do procedury uzavření sešitu se dá makro také napsat a pak se nemůže stát, že uživatel "něco zvojtí".
Pokud je to pro "lidi" BFU musíš počítat se vším...
Nesmíš dát šanci něco udělat jinak..... Bohaté zkušenosti co vše se dá zmrvit....
Ale to vše je opravdu na jinou diskuzi...
Jinak POKI jsi machr a vážím si Tvých rad a příspěvků.
Lon
Malinko OT, ale dovolím si reagovat na Pokiho "názor" Pokud by se dalo zajistit, ze uzivatel povoli makra,. Jak říkal můj táta, jde všechno, jenom noviny a malé děti se musí nosit..
Tedy například je řešením skrýt všechny datové listy, ponechat jen jeden s upozorněním, že uživatel nepovolil makra a tedy mu soubor nebude nic platný... Pak v otvírací proceduře tento list skrýt a ostatní zviditelnit. Předpoklad je také zamčený sešit heslem.
To je můj názor na to jak zabezpečit, že uživatel povolí makra.
Stačí zakázat dotaz na výmaz dalších dat a jeho vyhodnocení.
To Jeza.m
upravil jsem to v tvém souboru.
Lon
čá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é.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.