Příspěvky uživatele


< návrat zpět

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

a zde je i náhled, kde se má co propsat.

Pokusil jsem se to co nejvíce zjednodušit, viz příloha.
Pokud bude vyplněn modrý řádek Kontrola - oznámení o kontrole 1, sloupec AV, pak potřebuji tuto hodnotu mít ve formuláři v poli "oznamenikontroly1".
Zároveň k tomu potřebuji dohledat do formulářového pole "oznamenikontroly2" hodnotu ze zeleného řádku Oznameni o kontrole 2, ze sloupce AV.
Děkuji za ochotu a snahu.

Jiří497, stále je tam chyba, viz obrázek.
Ale již není třeba řešit. Jak jsem psal, přišel jsem na jiné řešení.
Pokud byste byl tak laskav a poradil s bodem 2. Je to stěžejní.
V případě, že bude vyplněny řádky:
Kontrola - Oznámení o kontrole 1 a v sloupci AV bude hodnota
a zároveň bude vyplněn řádek Kontrola - Oznámení o kontrole 2 a v sloupci AV bude hodnota,
pak bych potřeboval, aby se při spuštění formuláře a vyhledání daného SpZn vyplnilo políčko:
oznamenikontroly1 (hodnotu čerpat z řádku Kontrola - Oznámení o kontrole 1 a sloupce AV) a zároveň se dohledala i hodnota do políčka oznamenikontroly2 (hodnota je v řádku Kontrola - Oznámení o kontrole 2, sloupec AV)

Ad1) Jiří497, děkuji, ale ten kód mi nefungoval.
Nakonec jsem předělal strukturu číselníků a vložil i nový kód, který funguje.
Private Sub cmbTypZadosti_Change()

Select Case cmbTypZadosti.Value
Case Is = "Žádost o povolení zk"
cmbUkon.RowSource = "ŽádostOPovoleníZK"
Case Is = "Změna"
cmbUkon.RowSource = "ZměnaZkoušky"
Case Is = "Kontrola"
cmbUkon.RowSource = "Kontrola"
End Select

End Sub

Problém ale je, že když vyberu kombinaci a kliknu na uložit, tak se nic nestane a formulář mi přeskočí na začátek. Až na 2. kliknutí na uložit se vše uloží tak, jak má. Nevíte náhodou proč tomu tak je?

Ad2) Nevíte náhodou, jak dohledat požadované hodnoty?

Omlouvám se, nevšiml jsem si, že xlsm se nepřipojil. Zde to je.

Dobrý den,

rád bych požádal o pomoc se zadáváním a vyhledáním dat ve VBA. Na listu Home se mi spustí formulář, který umí vyhledat data dle pole "Sp.Zn." Vložte např. do pole Sp.Zn. hodnotu z Databaee sloupce D.

1) Úplně nahoře formuláře v oranžovém poli bych potřeboval nastavit výběr Úkonu podle listu ČÍSELNÍKY. Tj. Pokud se vybere "Žádost o povolení zk", tak aby se v políčku Úkon vybíralo jen z buněk C2:C16, pokud se vybere Typ Změna, pak bude Úkon k výběru z C17:C31 a pokud se byvere Typ Kontrola, pak se bude vybírat Úkon z C32:C37. Číselník lze jakkoli rozšířit / upravit.

2) každý zápis se uloží jako nový řádek. To je požadavek klienta. Když se vyhledává dle Sp.Zn., tak se vždy berou hodnoty z posledního řádku, obsahující Sp.Zn. To je správně. Formulář ale obsahuje list Kontroly, kde je Kontrola 1 - 3. Např. hodnota pole z listu Kontrola 1 - Datum oznámení se uloží do Database sloupce AV. Když by nastala Kontrola 2, v poli Úkon se vybere Oznámení o kontrole 2 a ve formuláři v listu Kontrola 2 se zapíše hodnota z pole datum oznámení do sloupce database - AV. To je správně.
Potřeboval bych ale nastavit vyhledání dle Sp.Zn. tak, aby se v listu Kontrola 1 vypsaly hodnoty z AV z řádku o kontrole 1 a do listu Kontrola 2 vypsala hodnota z AV z příslušného řádku o kontrole 2. Datové rozhraní databáze nelze upravit. není možné přidávat další sloupce.

Děkuji za případnou úvahu a pomoc.

jak prosté - funguje.
Děkuji.

Dobrý den,

můžete, prosím, poradit, zda je možné nastavit ověření hodnoty ID tak, aby se mohly zapisovat i alfanumerické znaky (např. AAbb123/2020)?
Nyní makro v Private Sub TextBox1_Change() ověřuje, zda je ID číslo (isNumeric).

Zkoušel jsem zadat ID jako String, ale nevím, jak dále ověřit to, že by se tak i mohl vložit.

Kód formuláře je z https://office.lasakovi.com/excel/vba-formulare/navod-formular-A-Z/
Jen jsem přidal sloupec Bydliště.

Děkuji.

Děkuji Jiří497, funguje to. Moc děkuji. 1

Dobrý den,
dovoluji si Vás požádat o pomoc s doladěním makra. V příloze mám makro, které vyhledává požadované hodnoty, ale prohledá při tom celý sešit a hodnoty vyhledané hodnoty mi znovu přepíše.
Potřeboval bych doladit tak, aby vyhledávání fungovalo jen pro nově přidané řádky a předešlé řádky se již nepřepisovaly.

Už to asi chápu. Excel to prohledává neustále.
Šlo mi o to, že až si naloaduji data do tabulky Evidence změn, tak aby došlo k prohledávání.
Namísto v tabulce evidence změn jsem daný kód vložil do makra při loadování dat a již mi velká tabulka funguje rychle.

Dobrý den,

mám tento kód, který funguje jako SVYHLEDAT funkce. Jakmile jej ale použiji do souboru s cca 4.000 řádky, tak je pohyb šipkami po souboru hodně pomalý, a téměř se zasekne. V budoucnu se počítá s tím, že soubor naroste na cca 50.000 řádků. Nevíte, co s tím, jak to zrychlit?

V souboru mám dalších 5 listů, kde jsou data cca ve 30 řádcích, takže podle mě nic náročného.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim list As Worksheet, dataListu As Worksheet
Dim posledniradekVTabulceZmen As Long, posledniRadekVKS As Long, x As Long
Dim dataRng As Range

Set list = ThisWorkbook.Worksheets("EVIDENCE ZMĚN")
Set dataListu = ThisWorkbook.Worksheets("KS")

posledniradekVTabulceZmen = list.Range("R" & Rows.Count).End(xlUp).Row
posledniRadekVKS = dataListu.Range("A" & Rows.Count).End(xlUp).Row

Set dataRng = dataListu.Range("A2:P450")

For x = 2 To posledniradekVTabulceZmen
On Error Resume Next
list.Range("T" & x).Value = Application.WorksheetFunction.VLookup( _
list.Range("R" & x).Value, dataRng, 11, False)

Next x

For x = 2 To posledniradekVTabulceZmen
On Error Resume Next
list.Range("U" & x).Value = Application.WorksheetFunction.VLookup( _
list.Range("R" & x).Value, dataRng, 12, False)

Next x

End Sub

Problém je v tom, že soubor, kde uživatel bude zadávat data nesmí mít makro.
Uživatel ale bude mít povoleno vložit konkrétní data - proto je tam ověřování dat.
Uživatel pak vyplněný soubor odešle mailem.

Později obsluha databáze vezme zaslaný excelevský soubor a a jeho obsah makrem načte do databáze. No a pokud tam budou nesmysly, tak se nakopírují nesmysly. Naštěstí v databázi makra povolena jsou, takže tam se na ty chyby přijde.

Děkuji za odpovědi.
Vámi popsané jsem již zkoušel, šlo mě hlavně o to, abych eliminoval kopírování buňky odjinud.
Ale jak jsem našel na zahraničních fórech, tak min. od r. 2015 se o tom ví a jak to vypadá, tak s tím Microsoft nic neudělal.
https://excel.uservoice.com/forums/304921-excel-for-windows-desktop-application/suggestions/10686822-stop-copy-paste-overwriting-data-validation

V pohodě, počítám s tím, že z 80% uživatel data zapíše. Ten zbytek bude kopírovat... uvidím v budoucnu. 1

Dobrý den,

nevíte, prosím, zda jde nastavit, aby se nepovolil přenos formátu z cizí kopírované buňky do buňky, která má nastavené ověření dat?
Př. v A1 je odemčená buňka a má nastavení ověření dat, aby se mohla vkládat jen celá čísla 1-10.
Zkusmo napíši text aaa do D1 a uzamknu sešit.
Když je sešit uzamčený, tak je možné psát jen do A1. To je vše v pořádku.
Problém je v tom, že excel umožní např. kopii uzamčené D1 s textem aaa (CTRl+C) a její vložení (CTRL+V) do A1. Tím je porušeno pravidlo pro ověřování dat a v A1 je tedy aaa. Když chci zapsat něco jiného, umožní psát čísla 1-10 na základě ověření dat.
Nevíte, co s tím? Potřebuji, aby uživatel nemohl tímto způsobem ověření dat obejít.
Bylo by super, pokud by řešení bylo mimo VBA.


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

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

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21