Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 4.180 pregleda

Najnovija ↓

Excel-konverzija stringova u VBA 28.03.2010. u 20:42 · pre 202 meseca #1
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
Re: Excel-konverzija stringova u VBA 28.03.2010. u 22:46 · pre 202 meseca #2
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
Potpis
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!
Re: Excel-konverzija stringova u VBA 29.03.2010. u 00:32 · pre 202 meseca #3
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.
Re: Excel-konverzija stringova u VBA 29.03.2010. u 15:45 · pre 202 meseca #4
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
Potpis
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!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme