Hoofdletters omzetten naar kleine letters in vba tbv Excel macro

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
947
Beste mensen,

Ik heb een simpel probleem dat ik niet kon vinden. In kolom L staan woorden uitsluitend in hoofdletters, ik wil deze graag via vba wijzigen in kleine letters.

Alvast bedankt.

Robert
 
Leo,

zou je me de totale code kunnen geven zodat ik deze in de macro kan plakken, ik ben hier onervaren in.

Robert
 
Dat zou zo moeten lukken:
Code:
Sub Lowcase()
Dim r As Range
For Each r In Blad1.Range("L1: " & "L" & Application.WorksheetFunction.CountA(Range("L1:L65000"))).Cells
    r = LCase(r)
Next
End Sub

Mvg Leo
 
Oké, succes.

Puntje om te weten.
Deze code is bedoelt voor een gevulde kolom.
Als er lege cellen tussen zitten (en dat kan natuurlijk bedacht ik me pas later, moet de code aangepast.
Dat lezen we dan nog wel.

Mvg Leo
 
Helaas geen resultaat

Leo,

Wat jij zei heb ik idd mee te maken, de kolom bestaat ook uit lege cellen, zou jij mij hierbij kunnen helpen.

Alvast wederom bedankt.

Robert
 
Wat heb je zelf al ontwikkeld in VBA ?
 
De volgende zoekt de laatste in gebruik zijnde cel.
Code:
Sub Lowcase()
 
Dim r As Range
 
For Each r In Blad1.Range("L1: " & "L" & Blad1.Range("L1").SpecialCells(xlCellTypeLastCell).Row).Cells
    r = LCase(r)
Next
End Sub
Kun je een gedepersonaliseerd voorbeeld plaatsen, mocht dit ook niet doen wat je verwacht.

Mvg Leo
 
Code:
Sub M_snb()
    [L:L] = [index(lower(L:L),)]
End Sub
 
Het werkt..

Heren,

De laatste code werkt perfect, vond wel dat hij er wat lang over deed, dat komt zeker omdat deze in Excel (2010) veel regels bijlangs moet. Is hier evt. nog wat aan te doen?

Alvast hartelijk bedankt voor jullie moeite, ben hier enorm mee geholpen.

Robert
 
Ja, SNB kan er wat van.

Code:
With Application
       .ScreenUpdating = False
       .EnableEvents = False
End With

Aan het begin van de macro
en afsluiten met
Code:
application.enebleevents=true
Zal w.s. een stuk schelen.
Mvg Leo
 
zelf aanpassen:

Code:
Sub M_snb()
    [L1:L1000] = [index(lower(L1:L1000),)]
End Sub
 
Heren bedankt

Ik zal maandag gelijk beide opties proberen, ik vind het geweldig hoe jullie mij hebben geholpen.

mvgr.
Robet
 
Heren,

Op zich ben ik wel gecharmeerd van de laatste oplossing, echter kan het voorkomen dat ik meer regels heb, nu kan ik deze op 65000 zetten maar dat vind ik wat minder professioneel, is er geen mogelijkheid dat hij kijkt naar de laatste regel die is gevuld, hiermee bedoel ik kolom L waar in mijn geval het vaak voorkomt dat deze niet is gevuld, die is nl. een kolom waar een voorvoegsel van een naam staat, zoals "van / van de / enz."

Trouwens de oplossing van Leo werkt het laatste gedeelte niet en vind ik de macro nog steeds erg traag, ik denk dat de oplossing toch moet zitten dat het systeem niet de hele kolom leest, maar zoals gezegd alleen kijkt tot aan de laatst gevulde cel in kolom L.

Een oplossing zie ik met veel belangstelling tegemoet.

Mvrgr.
Robert
 
Ik kijk met nog meer belangstelling uit naar de manier waarop jij probeert wat te bedenken in plaats van alleen anderen voor jou het werk te laten doen (waar je overigens niets wijzer van wordt).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan