Spremenljivke v 'Range'

Pomoč pri delu z MS Excelom
Odgovori
bate
Prispevkov: 127
Pridružen: Če Mar 19, 2009 10:11 am

Spremenljivke v 'Range'

Odgovor Napisal/-a bate »

Zdravo,
upam, da bom tudi tokrat deležen pomoči.. Tale forum je res nekaj boljšega…

Primer:

Koda: Izberi vse

    -----   
    For Stolpec = 1 to 20
    For Vrsta = 5 To 10

    Range("[color=red]Stolpec:Vrsta[/color]").Select
    -----
    -----
    Next Vrsta
    Next Stolpec
    -----
Na nek način želim označiti območje 'Stolpec:Vrsta' kot je razvidno iz primera.
Spremenljivke v 'Range' baje navedemo nekako med '&' . Imam prav? Ampak kako?
Lepo prosim za konkreten odgovor, da ne bom več težil in si bom zapomnil.

Lp Brane
bate
Prispevkov: 127
Pridružen: Če Mar 19, 2009 10:11 am

Re: Spremenljivke v 'Range'

Odgovor Napisal/-a bate »

Ups.... napača!

V vrstici 'Range' sem napačno uporabil orodne pripomčke. Spodnji del kode sem želel poudariti rdeče!
Moralo bi biti:

Koda: Izberi vse

----
Range("Kolona:Vrstica"),Select
----
lp Brane
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Pozdravljeni.

Zaenkrat vam kar dobro gre pa vendar vedno pretiravate z narekovaji :lol:

Koda: Izberi vse

Range(Kolona & ":" & Vrstica).Select 
VBA ne more uporabiti vrednosti spremenljivke znotraj narekovajev :wink:
[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]
bate
Prispevkov: 127
Pridružen: Če Mar 19, 2009 10:11 am

Odgovor Napisal/-a bate »

Zdravo,
'Kljuka' hvala za pomoč. Saj zato, ker ne znam uporabljati ... tudi sprašujem.
Znak '&' ste postavili le na eni strani spremenljivk...?? Je to pravilo, ali je sicer tudi drugače?
Tole bom še preiskusil.

lp Brane
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

A programirate tudi v kakem drugem programskem jeziku?

Sicer pa znak & je tako kot bi rekli in

Območje SpremenljivkaKolona in dvopičje in SpremenljivkaVrstica
[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]
bate
Prispevkov: 127
Pridružen: Če Mar 19, 2009 10:11 am

Odgovor Napisal/-a bate »

Zdravo,
mi je že bolj jasno --> 'piši kao što govoriš'.

lp Brane
capirossi
Prispevkov: 25
Pridružen: Če Dec 10, 2009 12:51 pm

Odgovor Napisal/-a capirossi »

Kako bi pa potem napisal kodo, ki bi ti označila celice od A & spremenljivka1 do D & spremenljivka2?

In še nekaj bi me zanimalo...kako v kodo

Koda: Izberi vse

konec_na_listu = Range("A65536").End(xlUp).Row
namesto 65536 vpišeš spremenljivko konec?

Poizkušal sem na naslednji način

Koda: Izberi vse

konec_na_listu = Range("A" & konec).End(xlUp).Row
pa koda ni pravilno delovala...

Hvala za pomoč in lep pozdrav!
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Koda: Izberi vse

Range("A" & spremenljivka1 & ":" & "D" & spremenljivka2).Select

Odvisno je od tega, kaj je vpisano v spremenljivki konec. Če je samo številka potem:

Koda: Izberi vse

konec_na_listu = Range("A" & konec).End(xlUp).Row
Če pa imate v spremenljivki že zapisano celotno območje potem pa samo

Koda: Izberi vse

konec_na_listu = Range(konec).End(xlUp).Row
[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]
capirossi
Prispevkov: 25
Pridružen: Če Dec 10, 2009 12:51 pm

Odgovor Napisal/-a capirossi »

Deluje kot mora...najlepša hvala...


Lep pozdrav, Loris
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

capirossi napisal/-a:Kako bi pa potem napisal kodo, ki bi ti označila celice od A & spremenljivka1 do D & spremenljivka2?
Ob objektu Range lahko uporabite tudi objekt Cells, kjer definirate vrstico in kolono kot numerični vrednosti. Torej Cells(4, 5) pomeni četrta vrstica, peta kolona ali E4. Glede na zapisano se torej koda za vaš problem glasi:

Koda: Izberi vse

  range(cells(spremenljivka1, 1), cells(spremenljivka2, 4)).Select
capirossi napisal/-a: In še nekaj bi me zanimalo...kako v kodo

Koda: Izberi vse

konec_na_listu = Range("A65536").End(xlUp).Row
namesto 65536 vpišeš spremenljivko konec?

Poizkušal sem na naslednji način

Koda: Izberi vse

konec_na_listu = Range("A" & konec).End(xlUp).Row
pa koda ni pravilno delovala...
Vprašanje je kaj si vi predstavljate pod "pravilno delovala" oz. kaj vi sploh mislite, da naj bi ta koda naredila. S samo shemantiko ni nič narobe in v kolikor spremenljivka 'konec' vsebuje število v območju 1..65536 bo koda delovala povsem pravilno!
lp,
Matjaž Prtenjak
Administrator
capirossi
Prispevkov: 25
Pridružen: Če Dec 10, 2009 12:51 pm

Odgovor Napisal/-a capirossi »

Verjetno sem ga pri spodnji kodi polomil kje drugje in sem najprej pomislil, da sem napisal napačno kodo zato sem se raje prepričal na forumu.
Sicer ne vem kaj sem naredil narobe vendar vem, da sem potem spremenljivko konec_na_listu uporabil v for zanki in se je ta izvršila samo 1x kljub temu, da bi se morala 8x.

Obema se lepo zahvaljujem za pomoč.

Lep pozdrav, Loris
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

:oops: Sem se očitno tako obotavljal, da sta se med originalnim vprašanjem in mojim odgovorim zapisala že odgovor in zahvala :lol: :lol:
lp,
Matjaž Prtenjak
Administrator
capirossi
Prispevkov: 25
Pridružen: Če Dec 10, 2009 12:51 pm

Odgovor Napisal/-a capirossi »

Bolje da sem dobil dve rešitvi kot nobene...ne bom nič zameril, če bosta dva odgovora :D

Lep pozdrav, Loris
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

admin, ne se sekirat. Vas je kljub temu zelo težko prehiteti in prej napisati odgovor ... :lol:
[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]
Odgovori