Preštej znake v določeni celici

Pomoč pri izdelavi makrov
Odgovori
Buhvald
Prispevkov: 3
Pridružen: To Okt 03, 2006 1:07 pm
Kraj: Kamnik

Preštej znake v določeni celici

Odgovor Napisal/-a Buhvald »

Zanima me kako napisati makro za štetje znakov v posamezni celici oz. v več izbranih celicah.

Rad bi pa, da mi makro prešteje znake in vse znake na 40 odebelji.

:roll:

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

Re: Preštej znake v določeni celici

Odgovor Napisal/-a admin »

Pozdravljeni,
Buhvald napisal/-a:Zanima me kako napisati makro za štetje znakov v posamezni celici oz. v več izbranih celicah.
Preprosto se sprehodite skozi vse izbrane celice in štejete znake:

Koda: Izberi vse

Sub PrestejZnake()
    Dim celica
    Dim stZnakov As Long
    
    stZnakov = 0
    For Each celica In Selection
        stZnakov = stZnakov + Len(celica.Text)
    Next
    
    MsgBox stZnakov
End Sub
Buhvald napisal/-a:Rad bi pa, ... in vse znake na 40 odebelji.
Tega pa ne razumem :(
lp,
Matjaž Prtenjak
Administrator
Buhvald
Prispevkov: 3
Pridružen: To Okt 03, 2006 1:07 pm
Kraj: Kamnik

Odgovor Napisal/-a Buhvald »

Hvala za izjemno hiter odgovor.

Mogoče sem malo nerodno napisal.

Posamezna celica lahko vsebuje maksimalno 40 znakov.

Ker podatke uvažam, bi rad da mi Makro preveri koliko je znakov v posamezni celici oz. izbranem območju celic in odebelji celice, ki vsebujejo več kot 40 znakov.

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

Odgovor Napisal/-a admin »

Aha,

Makro ostaja praktično enak; dodan mu je še en IF stavek, ki preveri ali je vsebina daljša od 40 znakov:

Koda: Izberi vse

Sub PrestejZnake()
    Dim celica
    Dim stZnakov As Long
    
    stZnakov = 0
    For Each celica In Selection
        stZnakov = stZnakov + Len(celica.Text)
        
        If Len(celica.Text) > 40 Then
            celica.Font.Bold = True
            celica.Font.ColorIndex = 3
        End If
    Next
    
    MsgBox stZnakov
End Sub
Makro vam bo odebeljil in z rdečo obarval vse celice, ki so predolge. Če vas rdeča barva moti izbrišite vrstico (celica.Font.ColorIndex = 3).
lp,
Matjaž Prtenjak
Administrator
Buhvald
Prispevkov: 3
Pridružen: To Okt 03, 2006 1:07 pm
Kraj: Kamnik

Odgovor Napisal/-a Buhvald »

NAJLEPŠA HVALA

LP Buhvald
Odgovori