Forum » Programiranje » VBA Excel uporaba TextBox-a
VBA Excel uporaba TextBox-a
ALfonz ::
Hello,
poskušam narediti aplikacijo v Excelu, preko katere bi v TextBox vpisali vrednosti, nato pa bi izvedli
račun s temi ciframi. Torej predhodno v UserForm vstavimo vrednosti in nato izvedemo račun z njimi.
Zadeva deluje, vendar ne dobro, naprimer:
TextBox6=0 (to vrednost prevzame spremenljivka min)
TextBox7=10.5 (to vrednost prevzame spremenljivka max)
TextBox8=1.5(to vrednost prevzame spremenljivka inc)
...ostali texboxi vedno dobijo cela naravna števila in predstavljajo samo pozicijo celice.
Rezultat bi moral biti:
0
1,5
3,0
4,5
...
v resnici mi izvrže:
0
15
30
45
...
če nebi uporabil vmesnika textbox in bi vrednosti ročno vpisal pri for zanki seveda zadeva deluje.
Prav tako, če za hec povratno zahtevam da min, max in inc napiše v celice, dobim vrednosti 0 10,5 in 1,5, kar je pravilno.
Ima kdo idejo v čem je težava z mojo kodo?
Poskušal sem tudi Dim (min,max,inc) As (Long ali Double) pa tudi ni delovalo.
lep pozdrav
koda:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim s As Integer
Dim min As Integer
Dim Max As Integer
Dim inc As Integer
'Spodnje spremenjivke dobijo vrednosti iz TextBoxa definiranih v UserForm.
i = TextBox1.Value
j = TextBox2.Value
k = TextBox3.Value
l = TextBox4.Value
s = TextBox5.Value
min = TextBox6.Value
Max = TextBox7.Value
inc = TextBox8.Value
m = 2
For n = min To Max Step inc
Cells(i, j) = n
Cells(m, s) = Cells(i, j)
Cells(m, s + 1) = Cells(k, l)
m = m + 1
Next n
End Sub
poskušam narediti aplikacijo v Excelu, preko katere bi v TextBox vpisali vrednosti, nato pa bi izvedli
račun s temi ciframi. Torej predhodno v UserForm vstavimo vrednosti in nato izvedemo račun z njimi.
Zadeva deluje, vendar ne dobro, naprimer:
TextBox6=0 (to vrednost prevzame spremenljivka min)
TextBox7=10.5 (to vrednost prevzame spremenljivka max)
TextBox8=1.5(to vrednost prevzame spremenljivka inc)
...ostali texboxi vedno dobijo cela naravna števila in predstavljajo samo pozicijo celice.
Rezultat bi moral biti:
0
1,5
3,0
4,5
...
v resnici mi izvrže:
0
15
30
45
...
če nebi uporabil vmesnika textbox in bi vrednosti ročno vpisal pri for zanki seveda zadeva deluje.
Prav tako, če za hec povratno zahtevam da min, max in inc napiše v celice, dobim vrednosti 0 10,5 in 1,5, kar je pravilno.
Ima kdo idejo v čem je težava z mojo kodo?
Poskušal sem tudi Dim (min,max,inc) As (Long ali Double) pa tudi ni delovalo.
lep pozdrav
koda:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim s As Integer
Dim min As Integer
Dim Max As Integer
Dim inc As Integer
'Spodnje spremenjivke dobijo vrednosti iz TextBoxa definiranih v UserForm.
i = TextBox1.Value
j = TextBox2.Value
k = TextBox3.Value
l = TextBox4.Value
s = TextBox5.Value
min = TextBox6.Value
Max = TextBox7.Value
inc = TextBox8.Value
m = 2
For n = min To Max Step inc
Cells(i, j) = n
Cells(m, s) = Cells(i, j)
Cells(m, s + 1) = Cells(k, l)
m = m + 1
Next n
End Sub
prtenjam ::
Ne bom se spuščal v samo smiselnost rešitve ;), temveč samo v konkreten problem... Vi v vnosna polja vnašate realne vrednosti, torej '1,5', '10,5' ipd... Potem pa jih v programu berete v celoštevilčne spremenljivke 'Dim inc As Integer'... Pravilno bo torej 'Dim inc As Double'
Matjaž Prtenjak
https://mnet.si
https://mnet.si
ALfonz ::
hej,
Probal tvoj nasvet in DELUJE :).
Malo sem tudi nase jezen, ker sem Double tudi uporabil pa mi nekako ni delovalo, kar pomeni, da sem nekje med testiranjem naredil še eno napako :(.
No kakor koli že hvala prtenjam za nasvet.
aja, glede smiselnosti kode: ideja je, da bi lahko nekdo, ki ni vešč VBA in ima narejen kompleksen račun v celicah (klasika), s pomočjo aplikacije
USERFORM->tekxbox, podal vhodne podateke, ki se bodo spreminjali v mejah (min,max in inc), nato pa dobljene rezultate pisal v stolpec in izrisal graf občutlivosti računa na spremembo vhodnega podatka. Koda v ozadju seveda služi za avtomatiko izpisa tako rezultatov kot grafike.
hvala za pomoč
lep pozdrav
Probal tvoj nasvet in DELUJE :).
Malo sem tudi nase jezen, ker sem Double tudi uporabil pa mi nekako ni delovalo, kar pomeni, da sem nekje med testiranjem naredil še eno napako :(.
No kakor koli že hvala prtenjam za nasvet.
aja, glede smiselnosti kode: ideja je, da bi lahko nekdo, ki ni vešč VBA in ima narejen kompleksen račun v celicah (klasika), s pomočjo aplikacije
USERFORM->tekxbox, podal vhodne podateke, ki se bodo spreminjali v mejah (min,max in inc), nato pa dobljene rezultate pisal v stolpec in izrisal graf občutlivosti računa na spremembo vhodnega podatka. Koda v ozadju seveda služi za avtomatiko izpisa tako rezultatov kot grafike.
hvala za pomoč
lep pozdrav
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | VB.NET evklidov algoritem razširjenOddelek: Programiranje | 893 (740) | Yacked2 |
» | vb.net: dynamic textboxOddelek: Programiranje | 1180 (1070) | saule |
» | Vb 2005 - TextBox - Izračun števila vrstic?Oddelek: Izdelava spletišč | 1606 (1481) | smash |
» | [VB][.NET] pretvorba niza v številoOddelek: Programiranje | 1151 (999) | Bela01 |
» | [Visual studio .NET] Rabim pomočOddelek: Programiranje | 1593 (1435) | darkolord |