[ neptuncokg @ 28.03.2010. 19:42 ] @
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
[ 3okc @ 28.03.2010. 21:46 ] @
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
[ neptuncokg @ 28.03.2010. 23:32 ] @
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.
[ 3okc @ 29.03.2010. 14:45 ] @
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
[ neptuncokg @ 29.03.2010. 15:35 ] @
To je to ! Hvala jos jedanput !