Naslov izbranega območja

Pomoč pri izdelavi makrov
Odgovori
jumanjy
Prispevkov: 133
Pridružen: To Jan 12, 2010 1:00 pm

Naslov izbranega območja

Odgovor Napisal/-a jumanjy »

Pozdravljeni!
V tem forumu sem našel makro, ki zapisuje naslov izbrane celice.

Koda: Izberi vse

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = Target.Address
End Sub
Ta makro je na listu, jaz pa bi ga rad oblikoval v gumb, da se sproži samo ob kliku.
Potrebujem namreč naslov (address) prve in zadnje celice označenega območja, vsakega v svoji celici. Sedaj si pomagam s funkcijami (left,right) da razberem naslove bi pa vas vprašal, če to lahko naredi makro direktno. Dam primer, če z miško označim območje C10:C20 mi v celico A1 napiše $C$10 v A2 pa $C$20. Če to ni možno ali pa je pretežko pa bi vas prosil, če mi samo preoblikujete makro, da se sproži ob kliku.

Hvala in lep pozdrav
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Naslov izbranega območja

Odgovor Napisal/-a admin »

Pozdravljeni,

Prilagam makro, ki naredi to, kar iščete in ga je potrebno samo zvezati z gumbom:

Koda: Izberi vse

Sub ZapisiCeliciObmocja()
  Dim izbranoObmocje As String: izbranoObmocje = Selection.Address
  Dim pozicijaDvopicja As Integer: pozicijaDvopicja = InStr(izbranoObmocje, ":")
  
  If (pozicijaDvopicja > 1) Then
    Range("A1").Value = Left(izbranoObmocje, pozicijaDvopicja - 1)
    Range("A2").Value = Right(izbranoObmocje, Len(izbranoObmocje) - pozicijaDvopicja)
  Else
    Range("A1").Value = izbranoObmocje
    Range("A2").Value = ""
  End If
End Sub
lp,
Matjaž Prtenjak
Administrator
jumanjy
Prispevkov: 133
Pridružen: To Jan 12, 2010 1:00 pm

Re: Naslov izbranega območja

Odgovor Napisal/-a jumanjy »

Ste pa hitri ravno to sem potreboval.

Hvala!
jumanjy
Prispevkov: 133
Pridružen: To Jan 12, 2010 1:00 pm

Re: Naslov izbranega območja

Odgovor Napisal/-a jumanjy »

Pozdravljeni še enkrat,
Sem opazil, da za dokončanje mojega "projekta" potrebujem še en podatek in sicer, da mi nekam izpiše številko označene vrste (Row). Nekaj sem že sam neuspešno poskušal popravit makro pa sem se na koncu vseeno odločil, da Vas zaprosim za pomoč.
Se mi je pa pri tem utrnila ena "zanimiva" ideja :idea: in bi vas vprašal (zgolj kot zanimivost), če je podatek "$A$1" ki ga izpiše makro možno porabit kot sklic na celico ali kako bi to imenoval. Nekaj podobnega kot INDIRECT ki pokaže vsebino celice jaz pa bi ta podatek uporabil v formuli. Dam primer recimo, da imamo podatek $A$1 v celici A2 in napišem formulo =OFFSET((podatek v celici A2);3;3) in mi za izhodiščno celico vzame A1. Upam da nisem preveč zakompliciral. :oops: .
Še enkrat hvala za odgovor.

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

Re: Naslov izbranega območja

Odgovor Napisal/-a admin »

Pozdravljeni,

Priložen makro vam bo izpisal še prvo in zadnjo vrstico izbora:

Koda: Izberi vse

Sub ZapisiCeliciObmocja()
  Dim izbranoObmocje As String: izbranoObmocje = Selection.Address
  Dim pozicijaDvopicja As Integer: pozicijaDvopicja = InStr(izbranoObmocje, ":")
  
  If (pozicijaDvopicja > 1) Then
    Range("A1").Value = Left(izbranoObmocje, pozicijaDvopicja - 1)
    Range("A2").Value = Right(izbranoObmocje, Len(izbranoObmocje) - pozicijaDvopicja)
  Else
    Range("A1").Value = izbranoObmocje
    Range("A2").Value = izbranoObmocje
  End If
  
  Range("A3").Value = Selection.Row
  Range("A4").Value = Selection.Row + Selection.Rows.Count - 1
End Sub
Kar pa se tiče drugega vprašanja pa ste si odgovorili že sami:

Koda: Izberi vse

=OFFSET(INDIRECT(A1); 3; 3)
lp,
Matjaž Prtenjak
Administrator
Odgovori