• 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.

Functiemacro Hoofdletters

Status
Niet open voor verdere reacties.

Yasmin

Gebruiker
Lid geworden
22 mei 2004
Berichten
184
Ik heb een Excel werkblad met bereiken G3:G18 en J3:J18 waarvan de celeigenschappen op “tekst” staan.
Nu wil ik het werkblad zo aanpassen dat indien ik een letter invul, of dit nu een hoofdletter of een kleine letter is, dit altijd als HOOFDLETTERS wordt geschreven.

Wie kan me helpen aan een functiemacro om dit te realiseren?

vr.gr. André
 
Hoi André,

rechtsklikken op je bladtab, en kiezen voor 'programmacode weergeven'.
Daar plak je deze code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("G3:G18"), Range("J3:J18"))) Is Nothing Then
Target.Value = UCase(Target.Value)
End If
End Sub


Luc
 
Luc,

Ik heb de code gekopieerd maar als ik in G3 b.v. een kleine letter h ingeef wordt dit niet gewijzigd in H.

André:(
 
Doe het dan nog maar 's over. Het moet lukken!!!

Rechtsklikken op je bladtab... programmacode weergeven... EN DAAR UW CODE PLAKKEN.

En natuurlijk werkt dit dan alleen voor dat ene werkblad.

Luc
 
Luc,

Nu lukt het wel. Ik had m.i. wel goed gekopieerd maar bij het oproepen van het werkblad de keuze "Macro's uitschakelen" gemaakt, Vandaar.

Hartelijk bedankt voor de hulp!

André :thumb:
 
beste
een reactie op een oudje uit 2005

zit met het volgende, als ik de code plak, krijg ik de volgende fout melding
Compileerfout, Er is een dubbelzinnige naam gevonden Worksheet_Change

de volledige code die ik nu heb is
+++++++++++++++++++++++++++++++++++++++

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("l3:l37,R3:R37,T3:T37")) Is Nothing Then Exit Sub

If IsEmpty(Target) Then Exit Sub

If Target.Cells.Count > 1 Then Exit Sub


ingave = Target.Value

Application.EnableEvents = False
If Hour(ingave) <> 0 Or Minute(ingave) <> 0 Then

Target = Hour(ingave) & ":" & Minute(ingave)

Application.EnableEvents = True

Exit Sub

End If


If Int(ingave / 100) < 0.1 Then
Target = "00:" & ingave
Else
Target = Int(ingave / 100) & ":" & Right(ingave, 2)
End If

Application.EnableEvents = True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("G3:G18"), Range("J3:J18"))) Is Nothing Then
Target.Value = UCase(Target.Value)
End If
End Sub


++++++++++++++++++++++++++++++++++++++++++++

de vette tekst is de nieuwe
wie o wie helpt mij
groet yib
 
Laatst bewerkt:
ik heb de bovenste regel weggelaten maar krijg nog steeds fout meldingen.
Dat er iets niet goed staat is wel duidelijk, maar weet niet hoe het dan wel moet

yib
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan