< návrat zpět

MS Excel


Téma: Načtení hodnot do formuláře VBA rss

Zaslal/a 12.11.2013 13:38

Dobrý den,

mám prosbu, mám formulář, kde mám odkazy (tlačítka) na další formuláře pomocí tlačítka. Na dalším formuláři (druhé vrstvě) mám textové pole, které odkazuji na vzorec v excelové databázi. Výsledek se mi ale po prvním načtení formuláře nezobrazí, ale až při druhém načtení...nevím proč tomu tak je, lze to načíst hned po prvním kliknutí?

Předem moc děkuji,

JS

Zaslat odpověď >

#016304
avatar
Také nevíme, proč ti to nefunguje :-).
Přidej přílohu...
P.citovat
#016307
Opičák
Když to funguje na druhé načtení a na první ne, tak bude kód asi v podstatě v pořádku, ale zobrazení formuláře je dřív, než jsou naplněny hodnoty. Myslím, že jen Show umístit někam dál, ale bez přílohy je to jen "myslím" a myslet znamená (nic ve zlým) h.... vědět, jak mě kdysi učil jeden vzdělaný pán.citovat
#016308
avatar

Opičák napsal/a:

Když to funguje na druhé načtení a na první ne, tak bude kód asi v podstatě v pořádku, ale zobrazení formuláře je dřív, než jsou naplněny hodnoty. Myslím, že jen Show umístit někam dál, ale bez přílohy je to jen "myslím" a myslet znamená (nic ve zlým) h.... vědět, jak mě kdysi učil jeden vzdělaný pán.


5 5citovat
#016309
avatar
Já vím pánové :-), musím pro dnes letět, zítra pošlu obdobný příklad, ten model je na poslání moc velký.

Díky moc předem,
Jcitovat
#016326
avatar
Zdravím pánové,

posílám příklad toho, jak to nenačte hodnoty po prvním otevření formuláře. Mám tu jednoduchý příklad, pod formulářem VSTUP mám 3 textové pole, kterými krmím bunky A1-A3
Pod formulážem VYSTUP se odkazuji na bunky B1-B3, kde je vzorec. Všechno funguje, jen ten vystup se nenačte hned, ale až podruhý...hehe...asi to bude jak píšete nějaký problém se zobrazením formuláře, před tím než se načtou data, ale netuším, jak to otočit.

Díky moc, Jirka
Příloha: zip16326_test_vba.zip (26kB, staženo 58x)
citovat
icon #016327
eLCHa
Ono je to v podstatě tak, jak říká Opičák

Pro načtení hodnot do prvků formuláře před jeho zobrazením slouží událost Initialize

Takže dejte do modulu formuláře VYSTUP proceduru
Private Sub UserForm_Initialize()
TextBox1.Value = Worksheets("List1").Cells(1, 2).Value
TextBox2.Value = Worksheets("List1").Cells(2, 2).Value
TextBox3.Value = Worksheets("List1").Cells(3, 2).Value
End Sub
a pak už volejte jen pomocí Show

Pro zavření formuláře nepoužívejteMe.HidealeUnload Mecitovat
#016328
avatar
Už jsem na to přišel, stačí posunout Show na konec kodu.
Co mě ale zase udivuje, že jednou ten výstup je formatovaný dobře s oddělením 1000, jindy ten formát zase neudrží...to si to formátuje jak chce? Třeba i v příkladu co jsem posílal...

Díky, Jcitovat
#043331
avatar

eLCHa napsal/a:



Pro zavření formuláře nepoužívejte Me.Hide ale Unload Me


Zdravím...

Mohl by někdo vysvětlit proč nepoužívat Hide?citovat
#043332
avatar

Zbygi napsal/a:

eLCHa napsal/a:

Pro zavření formuláře nepoužívejte Me.Hide ale Unload Me

Zdravím...

Mohl by někdo vysvětlit proč nepoužívat Hide?
- jaký je v tom rozdíl?citovat
#043341
avatar
Když se nikdo nemá k odpovědi ..... tak zkusím já.
Hide se samozřejmě může používat, podle konkrétní situace, co chcete po UserFormu. Rozdíl: Hide pouze skryje formulář a nechá ho v paměti tak, jak zrovna je nastaven, jak vypadá. Zachovají se provedené změny (přepínače, atd) z výchozího stavu. Zobrazením Show se tedy pouze objeví navrchu. Unload vymaže formulář z paměti. Při dalším Show se tedy načítá znovu i se sekcí Initialize - úvodním nastavením prvků, jak chcete aby formulář vypadal do prvního použití. Odborníci třeba upřesní.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje