Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další » ... 16

Tak teď se v tom požadavku už ztrácím úplně.
Když nechcete použít ověření dat, které to vaše "jednoduše" splňuje, tak netuším co z původního zadání vlastně požadujete.

Další možností je sledování změn na listu v dané oblasti a napsat si makro, které provede co požadujete.

V listu List1 vložit první sloupec, kde sloučit oba vyhledávané sloupce (datum, čas) pomocí CONCAT a pak v listu List2 vyhledat podle vloženého sloupce A VLOOKUP/SVYHLEDAT podle zadaných hodnot A1 a B1.

PavDD napsal/a:

...najít tuto dopsanou hodnotu v seznamu zakázaných /červená oblast/ a pokud tam je, oznámit to,a vrátit to znovu do editace té bunky abych mohl zkusit zadat něco jiného.
Pokud zadaná hodnota v seznamu zakázaných není, tak se normálně uloži.

Takže se uloží jakýkoliv zapsaný text, který není v seznamu zakázaných? Tzn. i místo jména třeba "Dobrý den"?

Nějak nerozumím tomu čeho vlastně chcete dosáhnout.
Ověření dat je právě od toho aby se nezadávaly nechtěné údaje.

Nerozumím pak tomu, proč by se měly někde vyhledávat zkomoleniny, které nepovolíte zadat?

"Kulantně" by to šlo vyřešit definováním jmen do seznamu která jsou povolena zadávat a ty pak nastavit do oblasti ověření dat a nepovolit jiné možnosti -> chybové hlášení ověření dat.

Zkuste přidat Excel s vašim řešením. Nevíme co je tam špatně, ověření dat má i varianty jak se chovat při chybě na vstupu.

Kde jsou chyby, nikde je nevidím, vše se dotahuje správně.

Sloupec B je prázdný, takže co se má porovnat a s čím?

jarek1111 napsal/a:

...Zkoušel jsem, ale vždy nějaká chybka
Jaká chybka?
co takhle třeba napsat přímo jaký vzorec se pokoušíte zadat a kam?

Nejedná se o sdílený sešit otevřený v prohlížeči? Tam makra nebudou nikdy fungovat.
Nastavení zabezpečení?

Parametry se do procedury/funkce, musí vždy předávat v pořadí v jakém jsou v dané proceduře/funkci deklarovány.

Pokud je parametr v proceduře/funkci označen jako volitelný (Optional) pak se nemusí předat a při volání procedury/funkce musí být "nevyplněn".
např.:
Sub Test
Dim parametr1 as Long, parametr3 as Long
Dim coVrati as long

parametr1=5
parametr3=10

coVrati= mujTest(parametr1, , parametr3) ' součet parametr1+parametr3
'coVrati=15
coVrati= mujTest(parametr1, False, parametr3) 'rozdíl parametr1-parametr3
'coVrati=-5
End sub

Function mujTest(param1, Optional param2=True,param3)
...
if param2 then
mujTest=param1+param3
else
mujTest=param1-param3
endif

End function

Vyhovovat by mělo Application.Goto Application.Goto Reference:=Worksheets("Sheet1").Range("A154"), scroll:=True

EDIT:
Sub ZobrazRadek(radek As Long)
Dim radkuPred As Integer
radkuPred = 10 ' počet volných řádků před požadovaným
If radek - radkuPred > 0 Then
Application.Goto Rows(radek - radkuPred), True
Else
Application.Goto Rows(1), True
End If
Rows(radek).Select ' pouze zvýrazní požadovaný řádek
End Sub

Zobrazí požadovaný řádek posunutý o počet řádků před ním, pokud číslo řádku bude menší než požadovaný posun, bude první řádek vždy na začátku.

sh.Protect UserInterfaceOnly:= Truefunguje i bez hesla (alespoň v MSO2019 ano), ale pak to trochu snižuje ochranu jako takovou, když list může kdokoliv odemknout.

Takže asi i lepší ochrana bude s heslemsh.Protect Password:= "mojeHeslo", UserInterfaceOnly:= Truepopř.sh.Protect "mojeHeslo", , , , True

Pokud nebude konkrétní buňka zamknuta, tak lze do ní zapisovat, tak jako do ní může zapisovat kdokoliv.
Další možností je před zápisem odemknout list a po provedení zápisu opět uzamknout.

Pokud jsem správně pochopil, tak problém je pouze s formátováním nepracovních dnů, protože ostatní podmíněné formáty nemůže uživatel ovlivnit.

Změny na listu stejně kontrolujete, tak proč toho nevyužít a nenastavit i formát?

EDIT:
Popřípadě lze uživateli zakázat jakékoliv kopírování.

Problematika IdiotenSichrhajstFest je vždy variantou mezi tím co dovolit BFU a co si ošetřit programově.
Nechat uživateli volné pole působnosti a pak se modlit, že nic nenaruší, nebo dovolit uživateli pouze předat hodnotu (např. InputBoxem) a pak ji programově vložit, popřípadě po každé změně hodnoty v buňce data formátovat podle potřeb.

Kdyby byla ukázka a co konkrétně se má hlídat, asi by se dalo přemýšlet i jinak.

Ta definice je prkotina.

Klidně můžeme toto téma dále řešit v Zjištění počtu řádků.

Zřejmě jsem se špatně vyjádřil, počet sloupců bude vždy pevně daný a neměnný.

Vytvořené pole dat (jako Global) podle barvy prvního sloupce pak bude použito buď na vložení nových záznamů nebo aktualizaci změněných hodnot již exitujících záznamů.
Odlišení podle barvy buňky prvního sloupce předpokládám při neúspěšné aktualizaci zdrojového souboru dat.


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   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