< návrat zpět

MS Excel


Téma: Sčítání textboxů rss

Zaslal/a 16.1.2012 20:52

Ahoj všichni, potřeboval bych poradit se sčítáním respektive s násobením hodnot textboxů v zadávacím formuláři. Když do textboxu1 zadám počet jednotek do textboxu 2 zadám cenu, potřeboval bych, aby se mi výsledek automaticky promítl do textboxu3. Děkuji za každý nápad.

Příloha: zip6969_pausaly.zip (36kB, staženo 26x)
Zaslat odpověď >

Strana:  « předchozí  1 2
#007448
avatar
potřeboval bych to nějak zacyklit, aby mi to přičetlo další hodnotu z textboxu v okamžiku jejího zadání.A když třeba udělám chybu v nějakém údaji a budu nucen se vrátit, aby ji to podchytilo a zohlednilo. jinak to funguje,jen trochu těžkopádně. I tak moc děkuji za Tvůj čas a ochotucitovat
#007450
avatar
neviem ci Ti niekto vyrobi cyklus , 20 nieje tak vela tak si to nakopiruj (ja momentalne riesim nejakych 120 a bojim sa ze to budem musiet tiez natukat rucne) - to X som tam dal lebo neviem do ktoreho boxu chces celkovy vysledok

Private Sub TextBox2_Change()
If IsNumeric(Me.TextBox2.Text) And Len(Me.TextBox2.Text) > 0 And Len(Me.TextBox3.Text) > 0 Then
Me.TextBox4.Text = CSng(Me.TextBox2.Text) + CSng(Me.TextBox3.Text)
Me.TextBox_X.Text = CSng(Me.TextBox4.Text) + CSng(Me.TextBox8.Text) + CSng(Me.TextBox12.Text) + CSng(Me.TextBox16.Text)+ CSng(Me.TextBox20.Text)...............
Else
Me.TextBox4.Text = ""
End If
End Sub

Private Sub TextBox3_Change()
If IsNumeric(Me.TextBox2.Text) And Len(Me.TextBox2.Text) > 0 And Len(Me.TextBox3.Text) > 0 Then
Me.TextBox4.Text = CSng(Me.TextBox2.Text) + CSng(Me.TextBox3.Text)
Me.TextBox_X.Text = CSng(Me.TextBox4.Text) + CSng(Me.TextBox8.Text) + CSng(Me.TextBox12.Text) + CSng(Me.TextBox16.Text)+ CSng(Me.TextBox20.Text)...............
Else
Me.TextBox4.Text = ""
End If
End Sub
citovat
#028743
avatar
Já používám toto:
on error resume next

Dim Vysledek as Single

Vysledek = (Me.Textbox1.Tetx*1 + 0)*1 + (Me.Textbox2.Tetx*1 + 0)*1 + ...citovat
#028764
avatar
Psát výrazy, které po jednom oslovují desítky prvků na formuláři, nevypadá moc elegantně. Pomocí modulů třídy je možné zápisu dodat výrazně kompaktnější ráz.
Bez modulu třídy si život často zjednodušuji využíváním kolekce Controls se současným zavedením interní logiky do použitých jmen prvků na formuláři.
Např. zápis typu
MujFormular.Controls("Tlacitko" & i)
pak umožňuje pracovat se skupinou tlačítek (nebo s libovolnou jinou skupinou prvků) prakticky jako se členy pole prvků s indexem i. Pro konkrétní výběry prvků při tomto postupu lze s velkou výhodou využívat konstrukci Select Case i - End Selectcitovat
#028767
avatar

psr napsal/a:

Vysledek = (Me.Textbox1.Tetx*1 + 0)*1 + (Me.Textbox2.Tetx*1 + 0)*1 + ...

Kvůli úspornosti zápisu lze využít dvou implicitních pravidel:
- v procedurách formuláře lze objekt Me před označením interního objektu vynechat (Me. se rozumí i bez něj)
- vlastnost Text je implicitní vlastností objektu TextBox, takže ji lze za označením objektu vynechat (.Text se rozumí i bez něj).
Citovaný zápis tedy bez újmy na funkčnosti lze psát v modulu formuláře také takto:
Vysledek = TextBox1 * 1 + TextBox2 * 1 + ...
Přičtení nuly má stejný účinek jako násobení jedničkou (v obou případech vznikne numerický sčítanec). Je zbytečné dělat jednu věc dvakrát. V případě sčítání jde jen o to, aby si VBA nevyložil operátor "+" jako "&" (což by pro TextBox1 + Textbox2 jinak provedl).citovat

Strana:  « předchozí  1 2

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