Obseg celic
Obseg celic
Pozdravljeni! Na List1! imam vpisane sezname, ki so poimenovani, npr. Obseg1, Obseg2 ... . Ali je možno (in kako), da mi na List2!, če je v celici A1 napisano ime Obseg1, v stolpec B izpiše celoten seznam Obseg1, če je vpisano ime Obseg2, izpiše Obseg2 itd.?
Zdajle mi ne pade na pamet., kako bi to naredil z vgrajenimi funkcijami, s pomočjo Majhnega VBA makra pa to ni noben problem:
In sedaj na listu pač vpišete
kjer je MojObseg pač nek obseg, ki ste ga poimenovali ali pa se besedilo 'MojObseg' nahaja v celici A1.
Koda: Izberi vse
'
' www.matjazev.net
' april 2010
'
Function KjeJeObmocje(Obmocje As String)
KjeJeObmocje = Range(Obmocje).Address
End Function
Koda: Izberi vse
=KjeJeObmocje("MojObseg")
ali
=KjeJeObmocje(A1)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Poizkusite to:
Koda: Izberi vse
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ime As String
If (Not Intersect(Target, Range("A1")) Is Nothing) Then
ime = Sheets("List2").Range("A1").Value
Application.Goto Reference:=ime
Application.CutCopyMode = False
Selection.Copy
Sheets("List2").Select
Range("B1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End Sub
lp,
cedra
cedra
Funkcija lahko vrne vrednost samo in izključno v celico v kateri se nahaja, zatorej vam funkcija zadane naloge ne more rešiti.zvonem napisal/-a:Matjaž, funkcija mi vrne obseg območja, oziroma izpiše, kje iskano območje je. Jaz pa bi rad, da seznam iz iskanega obsega izpiše v stolpec.
Toda prej vas nisem razumel, da želite to kar pišete. Omenjeno funkcionalnost pa lahko rešite z vgrajenimi funkcijami Excela - uporabite funkcijo OFFSET in jo skopirajte po vrstici navzdol:
Koda: Izberi vse
=OFFSET(MojObseg;ROW()-1;0;1;1)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Hvala obema za trud, vendar: pri funkciji, ki jo je napisal Cendra javlja napako in sicer:
Pri funkciji, ki jo je predlagal Matjaž (občutek imam, da je prava) pa mi zpiše celoten seznam, jaz pa bi rad samo seznam, ki je poimenovan enako kot je vrednost v celici A1.
Koda: Izberi vse
Compile Error
Ambigouos Name Detected: Worksheet_ChangeZdaj pa moram reči, da vam ne sledim več. Se oproščam, toda ne razumem, kaj želitezvonem napisal/-a: Pri funkciji, ki jo je predlagal Matjaž (občutek imam, da je prava) pa mi zpiše celoten seznam, jaz pa bi rad samo seznam, ki je poimenovan enako kot je vrednost v celici A1.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Podrobneje: imam dva obsega: glavni in pomožni. V glavnem obsegu so vpisane glavne vrste izdelkov (A, B, C ...), v pomožnem pa podvrste; za glavno vrsto A so vpisane A1, A2, A3 ..., za B so vpisane B1, B2, B3 ... itd. Seznam posameznih podvrst je poimenovan po glavni vrsti: A1, A2, A3 ... je poimenovan A, B1, B2, B3 ... je poimenovan B itd. Sedaj bi rad, da mi ob izbiri glavne vrste npr. A od celice b1 navzdol izpiše ves seznam poimenovan A, ob izbiri glavne vrste B pa od celice b1 navzdol izpiše ves seznam poimenovan B itd.
Upam, da sem bil malce bolj jasen
Upam, da sem bil malce bolj jasen
Vse bolj se mi zdi, ko tole berem, da ste vso stvar malo zakomplicirali. Vse skupaj se lahko reši tako, da v okence (Name box), to je okence kjer piše trenutni naslov aktivne celice lista, vpišete npr. ime vašega obsega "A" in Excel vas bo s katerega koli lista vrgel na izbrani obseg. Obseg je tudi označen. Torej vam preostane samo kopiranje obsega in izbira lista in celice kamor boste prilepili svoj poimenovani obseg. S proceduro, ki jo vam predlagam, se boste zamudili ravno toliko časa kot s pisanje funkcije v neko celico. Morda vam je to všeč
morda tudi ne 
lp,
cedra
cedra
No, mogoče sem res malo zakompliciral
, želel sem le, da bi z enim izborom hkrati dobil tudi drugega. Moram reči, da mi je uspelo
za prvi izbor sem uporabil kontrolnik "spustni seznam", kjer sem določil osnovni izbor, v isti kontrolnik pa sem dal del Cedrine kode, ki mi ob spremembi osnovnega izbora poišče ustrezni podizbor.
Hvala za trud, obema
Hvala za trud, obema