zadnja polna celica v stolpcu in prepis vrednosti v drugo ce

Pomoč pri delu z MS Excelom
Odgovori
gase
Prispevkov: 2
Pridružen: To Maj 12, 2009 8:51 am

zadnja polna celica v stolpcu in prepis vrednosti v drugo ce

Odgovor Napisal/-a gase »

lep pozdrav!

Potreboval bi pomoč, in sicer je problem naslednji.

rabil bi makro, ki bi mi v stolpcu npr. F v določenem obsegu (npr F3 do F15) poiskal zadnjo polno celico in vrednost te celice (v celici je formula, ki izračuna to vrednost) zapisal v neko izbrano celico na istem listu npr. v F20.

Hvala za pomoč!

lp,gase
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Spodnja funkcija bo rešila vašo težavo:

Koda: Izberi vse

'
' www.matjazev.net
'     maj 2009
'
Function ZadnjaCelica(Obseg As Range)
    Dim vrstica As Long, kolona As Long
    
    For vrstica = Obseg.Rows.Count - 1 To o Step -1
        For kolona = Obseg.Columns.Count - 1 To 0 Step -1
            If (Not IsEmpty(Obseg.Range("a1").Offset(vrstica, kolona))) Then
                ZadnjaCelica = Obseg.Range("a1").Offset(vrstica, kolona).Value
                Exit Function
            End If
        Next
    Next
    
    ZadnjaCelica = ""
End Function
Funkcijo potem preprosto uporabite tako, da v neko celico pač vpišete:

Koda: Izberi vse

=ZadnjaCelica(F3:F15)
lp,
Matjaž Prtenjak
Administrator
gase
Prispevkov: 2
Pridružen: To Maj 12, 2009 8:51 am

Odgovor Napisal/-a gase »

Najlepša hvala za odgovor.... pozabil pa sem še eno stvar in sicer

funkcija deluje točno tako kot sm si zamislil, vendar pa bi rabil popravek v tem smislu, da mi poišče zadnjo polno celico v stolpcu, ki je večja od 0.

To se pravi enaka zadeva, samo da ne poišče prve polne celice, vendar zadnjo polno celico v stolpcu, ki je večja od 0.

npr. če imam v stolpcu:

2
10
3
4
5
0
0
0
0

naj bi funkcija našla vrednost 5



Upam da sem dovolj jasno obrazložil!

Hvala!

lp,gase
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Zamenjajte tale del kode:

Koda: Izberi vse

            If (Not IsEmpty(Obseg.Range("a1").Offset(vrstica, kolona))) Then
                ZadnjaCelica = Obseg.Range("a1").Offset(vrstica, kolona).Value
                Exit Function
            End If 
S tem:

Koda: Izberi vse

            If (Not IsEmpty(Obseg.Range("a1").Offset(vrstica, kolona))) Then
                ZadnjaCelica = Obseg.Range("a1").Offset(vrstica, kolona).Value
                if (ZadnjaCelica > 0) Then Exit Function
            End If 
lp,
Matjaž Prtenjak
Administrator
Odgovori