pavelo napsal/a:
Hmm..., to je hezké, ale co s tím, jak to mám opravit, aby to bylo funkční?
Makro List1.HideLabel1 neexistuje
existuje pouze HideLabel1
Application.OnTime Now + TimeValue("00:00:04"), "moje_makro"
OnTime spustí definované makro, evidentně to makro v modulu není, když to hlásí.
Dopsat si moje_makro, které zabezpečí skrytí labelu
Standardní je vložit přílohu.
Rychlejší a elegantnější je řešení od Stalker
Private Function ListExistuje(ByVal strJmeno As String) As Boolean
 On Error Resume Next
 ListExistuje = Not Worksheets(strJmeno) Is Nothing
 On Error GoTo 0
End Function
Sub JeList()
 If ListExistuje("Test") Then
 MsgBox "List existuje."
 Else
 MsgBox "List neexistuje."
 End If
End Sub
Pak se inspirovat https://wall.cz/index.php?m=topic&id=56008
 Dim sh As Worksheet
 Dim jmenoListu As String
 For Each sh In ActiveWorkbook.Sheets
 If sh.Name = jmenoListu Then
 MsgBox "List již existuje."
 End If
 Next sh
Pro zjištění názvu měsíce z pořadového čísla lze použít např.:jmenoMesice = Format(DateSerial(2023, mesic, 1), "mmmm")
Jak bude zajištěno pořadí listů v případě, že je takových stejných názvů více - březen, březen(2), březen(1), březen(3)?
Je nutné projít všechny listy sešitu a zjistit kolik takových listů je již vytvořeno a doplnit správnou pořadovou číslovku, která bude navazovat.
Je nutné a smysluplné mít v jednom sešitu takto pojmenované listy?
Za mě to značně komplikuje přehled, který měsíc platí a co znamená. Není lepší vygenerovat kalendář pro celý rok a nějaké změny tohoto typu uživateli neumožnit?
Nebo jaký smysl má toto přejmenování? Co když bude těch listů třeba 20 v jeden měsíc?
Dá se potlačit správnou deklaraci typu proměnné.
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.
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
 \n
\nOblí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.