Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Excel-konverzija stringova u VBA

[es] :: Office :: Excel :: Excel-konverzija stringova u VBA

[ Pregleda: 2908 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
*.dynamic.isp.telekom.rs.



+9 Profil

icon Excel-konverzija stringova u VBA28.03.2010. u 19:42 - pre 170 meseci
Poznato je da vba podržava određene konverzije stringova - (vbUpperCase, vbLowerCase, vbProperCase...). Tako, naprimer, ako hoćemo u nekom textbox-u da svaka reč počinje "Velikim Slovom", stavićemo kod
txt1.Value = StrConv(txt1.Value, vbProperCase)
Mene zanima sledeće: može li se zadati konverzija, ali tako da samo prva reč stringa počinje velikim slovom. Nešto slično kao što u wordu svaki nov red počinje velikim slovom automatski. Drugim rečima, string treba da je sastavljen iskljucivo od malih slova, osim PRVOG slova PRVE reči. Nadam se da sam jasan. Hvala unapred
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Excel-konverzija stringova u VBA28.03.2010. u 21:46 - pre 170 meseci
Ne postoji takva f-ja.

Pogledaj primere C.Pearsona ovde: Changing Text Case

Inače, lako ćeš rešiti formulama ako je samo do prvog slova:
Code:
=UPPER(LEFT(A1,1)) & RIGHT(A1,LEN(A1)-1)


Problem je zapravo složeniji jer bi f-ja morala da prepoznaje početak rečenice, što je već posao za korisničku f-ju.
Najelegantnije rešenje koje sam našao:
Code:
Function Sentence(ByVal txt As String) As String 
    Dim m As Object 
    txt = LCase(txt) 
    txt = Application.Replace(txt, 1, 1, UCase(Left$(txt, 1))) 
    With CreateObject("VBScript.RegExp") 
        .Pattern = "\.\s." 
        .Global = True 
        For Each m In .Execute(txt) 
            txt = Application.Replace(txt, m.FirstIndex + 1, m.Length, UCase(m.Value)) 
        Next 
    End With 
    Sentence = txt 
End Function


preuzeto sa Capitalize First Letter Of Each Sentence
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
*.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Excel-konverzija stringova u VBA28.03.2010. u 23:32 - pre 170 meseci
Hvala na iscrpnom odgovoru. Funkcija besprekorno odrađuje posao u excelu. Nisam uspeo nažalost, da umetnem funkciju u VBE, da bih je iskoristio pri unosa preko txt-a na formi. Probao sam da iskopiram macro u događaj txt_Change, txt_KeyUp, ali bezuspešno.
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Excel-konverzija stringova u VBA29.03.2010. u 14:45 - pre 170 meseci
Definicija f-je mora biti u modulu (VBA: Insert > Module).

Za događaj txt_change upiši:
Code:
Private Sub TextBox1_Change()

    TextBox1.Text = Sentence(TextBox1.Text)
End Sub

Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
Prikačeni fajlovi
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
*.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Excel-konverzija stringova u VBA29.03.2010. u 15:35 - pre 170 meseci
To je to ! Hvala jos jedanput !
 
Odgovor na temu

[es] :: Office :: Excel :: Excel-konverzija stringova u VBA

[ Pregleda: 2908 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.