Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Formát TxtBox-u v užívateľskom formulári VBA

Chlapi, mám pocit, že sa škriabem pravou rukou za ľavým uchom... poraďte please...

Príklad:

Mám previazaný TxtBox vo formulári VBA s bunkou A1 v harku Databaza prostredníctvom vlastnosti ControlSource.
Bunku mám naformátovanú ako číslo s dvomi desatinnými miestami a oddeľovačom tisícov.

Keď do TxtBoxu zapíšem číslo, Entrom sa prenesie do A1 a v bunke sa zobrazí v poriadku, ale v TxtBoxe ostane nesformátované.

Doteraz som tento problém riešil nie vlastnosťou ControlSource, ale tvrdým zápisom obsahu TxtBoxu do bunky a vzápätí spätným naplnením TxtBoxu obsahom bunky s pridelením formátu:

frmXYZ.txtABC.Text = Format(Sheets("Databaza").Range("A1"), "#,##0.00")

čo je dosť ošemetné, lebo v takomto prípade musí mať každý takýto TxtBox svoju procedúru na udalosť AfterUpdate...

ControlSource by bolo ideálne, lebo postačí prvotne previazať TxtBox-y s bunkami a šmitec... Lenže čo s formátmi zobrazenia v TxtBoxoch?

Nejak sa mi nechce veriť, že neexistuje elegantnejšie riešenie...

Vie niekto poradiť, ako na to?

Díky

Předmět Autor Datum
Nie, elegantnejšie riešenie pre VBA formulár neexistuje. Pomocou ControlSource sa robí len jednoduch…
los 03.07.2015 18:32
los
Ďakujem, aj keď za smutnú správu... Rozhodne ostanem pri užívateľskom formulári VBA i keď sa kvôli… poslední
robert13 03.07.2015 19:00
robert13

Nie, elegantnejšie riešenie pre VBA formulár neexistuje. Pomocou ControlSource sa robí len jednoduchý databinding bez možnosti prispôsobenia. Mne sa najviac osvedčilo robiť formuláre priamo v liste, t.j. nie ako VBA formulár.

Ďakujem, aj keď za smutnú správu...

Rozhodne ostanem pri užívateľskom formulári VBA i keď sa kvôli tomu budem musieť vynájsť inak.
Vzájomné väzby medzi prvkami aj samotný grafický návrh sa tam robia veľmi jednoducho a elegantne, aj keď za cenu občasných nedostatkov typu popísaného v mojom dotaze... Neviem si predstavit narábanie s ActiveX prvkami v hárku a možnosti prvkov typu ovládací prvok formulára sú veľmi obmedzené.

Díky

Zpět do poradny Odpovědět na původní otázku Nahoru