Spremenljivka v VB
Spremenljivka v VB
Zdravo,
pri delu se mi je pojavil problemček kako spremenljivki dodeliti vrednost iz določene celice.
Npr. v stilu:
...
Range ("J20").Select
Spremenljivka=J20
...
Še tole: rad bi se malo naučil VB. Ali morda obstaja kakšen gimnazijski učbenik?
lepo prosim za pomoč.
Lp, Brane
pri delu se mi je pojavil problemček kako spremenljivki dodeliti vrednost iz določene celice.
Npr. v stilu:
...
Range ("J20").Select
Spremenljivka=J20
...
Še tole: rad bi se malo naučil VB. Ali morda obstaja kakšen gimnazijski učbenik?
lepo prosim za pomoč.
Lp, Brane
Re: Spremenljivka v VB
Preprosto tako da združite oba stavka, ki ste ju napisalibate napisal/-a:...kako spremenljivki dodeliti vrednost iz določene celice....
Koda: Izberi vse
Spremenljivka = Range("J20")
Po mojem mnenju in odzivih nekaterih bralcev menim, da je v slovenskem jeziku najbolje izbrati kar mojo knjigo 'Visual Basic za aplikacije' (http://www.matjazev.net/pnew/index.php? ... k_vb1.html). Knjige na morete več kupiti, saj je razprodana imajo pa jo v vseh javnih knjižnicah.bate napisal/-a: Še tole: rad bi se malo naučil VB. Ali morda obstaja kakšen gimnazijski učbenik?
V kolikor iščete tujo literaturo pa je je zares ogromno in si pač izberite katerokoli za začetnike.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Spremenljivka v VB
Zdravo,
tako enostavno ,da mi je kar nerodno. Se zahvaljujem za odgovor.
lp Brane
tako enostavno ,da mi je kar nerodno. Se zahvaljujem za odgovor.
lp Brane
Re: Spremenljivka v VB
Zdravo,
spet jaz. Ne gre mi ta sintaksa...
Grem kar na problem-ček:
...
Fiks=Range("J23")
For Spremenljivka=6 to 150
If Spremenljivka=Fiks then
Range("Xspremenljivka").select
...
Tale rdeča mi 'kravžla' živce..
Lepo prosim pomagajte, upam, da bo potem delalo.
spet jaz. Ne gre mi ta sintaksa...
Grem kar na problem-ček:
...
Fiks=Range("J23")
For Spremenljivka=6 to 150
If Spremenljivka=Fiks then
Range("Xspremenljivka").select
...
Tale rdeča mi 'kravžla' živce..
Lepo prosim pomagajte, upam, da bo potem delalo.
Kaj naj bi ta koda sploh naredila?
Torej vi bi na ta način ugotavljali ali je V celici J23 zapisano eno izmed števil 6 do 150? In če je tu vmes in jo najdete potem bi izbrali celicio Xspremenljivka? Kaj pa je XSpremenljivka? Torej spodnja koda takšna kot je bi bila mnogo bolj smiselna v sledeči obliki:
Torej vi bi na ta način ugotavljali ali je V celici J23 zapisano eno izmed števil 6 do 150? In če je tu vmes in jo najdete potem bi izbrali celicio Xspremenljivka? Kaj pa je XSpremenljivka? Torej spodnja koda takšna kot je bi bila mnogo bolj smiselna v sledeči obliki:
Koda: Izberi vse
if (Range("J23") >= 6 and Range("J23") <= 150) Then
Range(XSpremenljivka).select
End if
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Zdravo,
meja kulpa...
pravzaprav sploh nisem obrazložil problema(čka). Se oproščam.
Naj poskusim še enkrat:
- na listu1 v celico 'J32' vnesem številko
- for zanka na drugem listu v koloni 'i6:i150' išče številko, ki ustreza celici ("j32") s prvega lista
- v vrstici kjer je najdena številka so podatki, ki jih želim vpisati (prekopirati na list1.
takole:
...
Fiks=Range("J32")
Sheet(list2).select
For Each spremenljivka In Range("i6:i150")
If spremenljivka=Fiks then
Range("Kspremenljivka:Tspremenljivka").select
Selection.Copy
end if
next spremenljivka
...
Sheet(list1).select
....
Ekola. Upam, da je bolj razumljivo. V bistvu se compiler pritožuje nad rdečo kodo. Ne vem, ali kaj manjka, ali je napačna sintaksa, ali kaj drugega.
upam, da ne težim...
lp Brane
meja kulpa...
pravzaprav sploh nisem obrazložil problema(čka). Se oproščam.
Naj poskusim še enkrat:
- na listu1 v celico 'J32' vnesem številko
- for zanka na drugem listu v koloni 'i6:i150' išče številko, ki ustreza celici ("j32") s prvega lista
- v vrstici kjer je najdena številka so podatki, ki jih želim vpisati (prekopirati na list1.
takole:
...
Fiks=Range("J32")
Sheet(list2).select
For Each spremenljivka In Range("i6:i150")
If spremenljivka=Fiks then
Range("Kspremenljivka:Tspremenljivka").select
Selection.Copy
end if
next spremenljivka
...
Sheet(list1).select
....
Ekola. Upam, da je bolj razumljivo. V bistvu se compiler pritožuje nad rdečo kodo. Ne vem, ali kaj manjka, ali je napačna sintaksa, ali kaj drugega.
upam, da ne težim...
lp Brane
Kot prvo, če želite kot argument funkcije Range podati neko spremenljivko jo morate zapisati brez narekovajev "".
Kje deklarirate spremenljivki Kspremenljivka in Tspremenljivka?
Obe morata biti deklarirani kot Range.
Kje deklarirate spremenljivki Kspremenljivka in Tspremenljivka?
Obe morata biti deklarirani kot Range.
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Zdravo,
najbolje,da posnamem komplet, pa bomo videli...
Sub Vpis()
Fiks = Range("J28") ' List1
Sheets("List2").Select
For Each Podatek In Range("i6:i150")
If Podatek = Fiks Then
Range("Kpodatek:Tpodatek").Select
Selection.Copy
End If
Next Podatek
Sheets("List1").Select
Range("K30:T39").Select
ActiveSheet.Paste
End Sub
To je to. Compiler se pritožuje nad Range("Kpodatek:Tpodatek").select
Če vpišem namesto 'podatek' konkretno številko zadeva deluje!
lp Brane
najbolje,da posnamem komplet, pa bomo videli...
Sub Vpis()
Fiks = Range("J28") ' List1
Sheets("List2").Select
For Each Podatek In Range("i6:i150")
If Podatek = Fiks Then
Range("Kpodatek:Tpodatek").Select
Selection.Copy
End If
Next Podatek
Sheets("List1").Select
Range("K30:T39").Select
ActiveSheet.Paste
End Sub
To je to. Compiler se pritožuje nad Range("Kpodatek:Tpodatek").select
Če vpišem namesto 'podatek' konkretno številko zadeva deluje!
lp Brane
To je tako, kot bi vam jaz rekel, povejte mi število, ki sem si ga zamislil. Niti približno se vam ne bi sanjalo, če vam ga jaz pred tem ne bi izdal. Torej, prevajalniku morate povedati, kaj predstavljata ti dve spremenljivki.
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Zdravo,
dragi Kljuka zahvaljujem se za vaš trud, a še zmerom ne vem kako naj deklariram. Ali spremenljivka 'podatek' ne dobi vrednosti v for stavku? Pri vsem svojem (ne)znanju ne pogruntam fore. Če se že trudite z mano, lepo prosim za bolj konkreten odgovor.
lepe praznike, Brane
ps: spoštovani Andrej. Tisto ne deluje.Lp.
dragi Kljuka zahvaljujem se za vaš trud, a še zmerom ne vem kako naj deklariram. Ali spremenljivka 'podatek' ne dobi vrednosti v for stavku? Pri vsem svojem (ne)znanju ne pogruntam fore. Če se že trudite z mano, lepo prosim za bolj konkreten odgovor.
lepe praznike, Brane
ps: spoštovani Andrej. Tisto ne deluje.Lp.
OK. Včasih bolj namigujem (se sprehajam kot maček okoli vrele kaše) in poskušam, da bi sami nekako prišli do rešitve 
Če preverjate vrednost neke celice, bi mogli zapisati
Enako pri preverjanju
Še predtem morate deklarirati spremenljivko Podatek
Ko želite označiti neko polje napišite
Če ta koda ne deluje poskusite: Podatek.Select
Upam, da vam bo to kaj pomagalo. Kaj več jutri (nimam pri roku Offica, zato je vsa koda pisana na pamet).
Če preverjate vrednost neke celice, bi mogli zapisati
Koda: Izberi vse
Dim Fiks
Fiks=Range("J28").Value ' List1 Koda: Izberi vse
If Podatek.Value = Fiks ThenKoda: Izberi vse
Dim Podatek As RangeKoda: Izberi vse
Range(Podatek).SelectUpam, da vam bo to kaj pomagalo. Kaj več jutri (nimam pri roku Offica, zato je vsa koda pisana na pamet).
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Živjo,
Hvala za trud, a še vedno ne gre.
'Range(Stevec).Select' prevajalnik sploh ne požre. 'Stevec' je namreč stevec ; številka. Kolikor razumem mora biti v 'Range' neko območje!? Dim-al sem 'Podatek' in 'Stevec' in tudi ne dela.
Ko namesto 'Range("Kpodatek:Tpodatek").Select' napišem 'Range("K11:T11").Select' zadeva deluje! Nimam pojma kaj ga moti?
lp Brane
Hvala za trud, a še vedno ne gre.
'Range(Stevec).Select' prevajalnik sploh ne požre. 'Stevec' je namreč stevec ; številka. Kolikor razumem mora biti v 'Range' neko območje!? Dim-al sem 'Podatek' in 'Stevec' in tudi ne dela.
Ko namesto 'Range("Kpodatek:Tpodatek").Select' napišem 'Range("K11:T11").Select' zadeva deluje! Nimam pojma kaj ga moti?
lp Brane