IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   

3

Naredbe

3.1.1 IF naredba
3.1.2 SELECT CASE naredba
3.1.3 GoTo naredba
   
3.2

LOOP - Petlje

3.2.1 For-Next petlja
3.2.2 Do While petlja
3.2.3 Do Until petlja
3.3

Niz, String, Function

3.3.1 Nizovi
3.3.2 Stringovi
3.3.3 Rad sa slovima č, ć, š, đ, ž
3.3.4 Like operator
3.3.5 Funkcija Format
3.3.6 Predefinirani Formati za Datum i Vrijeme
3.3.7 Numerički formati
3.3.8 Korisnički Formati za Datum i Vrijeme
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Nizovi, Stringovi, Funkcija format, datum i vrijeme u VBA - Kodne stranice

Niz, String, Function format u VBA za Excel

Search This Web Site

Adsense sponzor






LIKE operator  u VBA za Excel

Ovaj operator može biti vrlo koristan jer pruža vrlo moćnu i elegantnu usporedbu stringova.
Primjenjuje se u slijedećem obliku:

string Like obrazac

obrazac predstavlja string koji može sadržati tri jocoker znaka (wildcards):

?
*
#

- mijenja bilo koji znak,
- mijenja proizvoljan broj znakova
- mijenja bilo koji broj.

 

Par jednostavnih primjera korištenja operatora Like prikazan je u tablici ispod.

"Koren" Like "Kor?n"
"Koren" Like "Ko?n"
"Koren" Like "K*"
"2009" Like "####"
"Koren2009" Like "K*##09"
vraća True
vraća False
vraća True
vraća True
vraća True

Radi povećanja fleksibilnosti, pored ovih jockera,
operator Like dozvoljava i pretragu samo određenih znakova, koji se navode u uglatim zagradama [].

Tako će na primjer,

"Koren" Like "Kor[ae]n"

našem slučaju vratiti True, jer će, na četvrtoj poziciji, VBA samo tražiti znake a i e. U ovim se zagradama može navesti i opseg znaka, koristeći znak -. Tako će, na primjer, [a-z] zamjenjivati bilo koje malo slovo, [A-Z] zamjenjivati bilo koje veliko slovo, [A-D] zamjenjivati velika slova A, B, C i D itd. Važno je znati da se prilikom korištenja opsega znaka, opseg mora navesti u rastućem redoslijedu. Na primjer, zapis [Z-A] bi doveo do greške u izvršavanju.

Ako bi se ispred opsega znaka stavio znak uskličnika (!) onda bi se provjeravalo da li znak ne pripada određenom opsegu. Na primjer, sa [!a-z] bi ispitivali da li dati znak nije malo slovo.

Ovdje je nekoliko primjera.

"H" Like "[A-Z]"
"H" Like "[!A-Z]"
"H5N1" Like "H#[!C-E]#"
vraća True
vraća False
vraća True
Ukoliko je aktivna opcija Option Compare Text, usporedba sa "[A-Z]" i "[a-z]" dati će iste rezultate.
Sada ćemo, kao primjer, dati funkcijsku proceduru koja radi potpuno istu stvar kao i funkcija

Lcase$.
Function UMala(S As String) As String
Dim I As Integer
UMala = S
For I = 1 To Len(S)
      If Mid(UMala, I, 1) Like "[A-Z]" Then
          Mid(UMala, I, 1) = Chr(Asc(Mid(UMala, I, 1)) + _
          Asc("a") - Asc("A"))
     End If
Next I
End Function

Konvertiranje velikih slova u mala se vrši naredbom

Mid(UMala, I, 1) = Chr(Asc(Mid(UMala, I, 1)) + Asc("a") - Asc("A"))

Na kodnu poziciju tekućeg znaka (Asc(Mid(UMala,I,1)) se dodaje razlika kodnih pozicija malih i odgovarajućih velikih slova (Asc("a")-Asc("A")). Funkcija Chr daje karakter koji odgovara dobivenoj kodnoj poziciji.(primjer uz dozvolu prenesen iz materijala sa predavanja prof. S.Đukanović)

Adsense sponzor




Adsense sponzor



Ova web stranica koristi COOKIES - COPYRIGHT - 2011 - IvanC - ic.ims.hr