• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel hoofdletter (niet standaard)

Status
Niet open voor verdere reacties.

vinemaster

Gebruiker
Lid geworden
23 mei 2012
Berichten
41
ik heb een kolom met tussenvoegsels waarbij ik het EERSTE woord met een hoofdletter wil.

Voorbeeld:
van der -->> Van der
Dus niet-->> Van Der

Onderste uitkomst krijg je met de formule BEGINLETTERS.

Kan iemand mij helpen?
 
Ik ben niet zo thuis in macro's. dus dat klinkt als abracadabra voor mij.
Ik ben wel redelijk gewend aan de standaard formules die gebruikt kunnen worden in excel.

Zo weet ik dat de formules Hoofdletters en beginletters niet werken.

Mijn vraag is dus, welke formule kan ik gebruiken, of is er een simpele manier om een leek uit te leggen hoe de macro's werken van jouw linkje.

Overigens werkt die oplossing niet... het wordt dan alsnog: "Van Der"
De formule of macro moet in ieder geval effect hebben op Kolom E, (E:E).
 
Laatst bewerkt:
Met een formule dan.

Code:
=HOOFDLETTERS(LINKS(A1;1))&KLEINE.LETTERS(RECHTS(A1;LENGTE(A1)-1))

Niels
 
Dit is de uiteindelijke macro geworden, ik heb me erin verdiept:

Sub Hoofdletters()
Dim x As Integer
For x = 1 To 100
Range("E" & x).Value = UCase(Left(Range("E" & x).Value, 1)) & _
Mid(Range("E" & x).Value, 2, Len(Range("E" & x).Value))
Next x
End Sub

Ik ga ook je formule nog even testen, dat lijkt me makkelijker. (hij geeft een waarde error bij lege cellen, ook niet de bedoeling)
Toch, Mijn dank is GROOT!
 
Laatst bewerkt:
excel 2007 of hoger
Code:
=ALS.FOUT(HOOFDLETTERS(LINKS(A1;1))&KLEINE.LETTERS(RECHTS(A1;LENGTE(A1)-1));"")

of anders bv

Code:
=ALS(A1="";"";(HOOFDLETTERS(LINKS(A1;1))&KLEINE.LETTERS(RECHTS(A1;LENGTE(A1)-1));""))

Niels
 
Dit is het inderdaad!!

=ALS.FOUT(HOOFDLETTERS(LINKS(D2;1))&KLEINE.LETTERS(RECHTS(D2;LENGTE(D2)-1));"")

BEDANKT
 
Code:
Sub Hoofdletter()
    On Error Resume Next
    sq = Range("E1:E" & Cells(Rows.Count, 5).End(xlUp).Row)
    For i = 1 To UBound(sq)
        sq(i, 1) = UCase(Left(sq(i, 1), 1)) & Right(sq(i, 1), Len(sq(i, 1)) - 1)
    Next
    Cells(1, 5).Resize(UBound(sq)) = sq
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan