Tsarevitsj
Gebruiker
- Lid geworden
- 10 jun 2005
- Berichten
- 71
Hallo allen,
Ooit heb ik deze code kunnen plaatsen in een roosterprogramma met de excellente hulp van Wigi. Het WorkBook heeft 16 pagina’s, in elke pagina staat onderstaande code. Het zet bij invoer eventuele kleine letters om in hoofdletters.
De meeste problemen die ik tegen kwam bij de migratie naar Office 2003 heb ik kunnen oplossen maar met onderstaand loop ik tegen een voor mij niet oplosbaar probleem aan. Iedere keer wordt de code gestopt bij ‘Mid’ en krijg ik de melding ‘Compileerfout, kan het project of de bibliotheek niet vinden’ terwijl ik het daar toch echt wel kan vinden. Waarschijnlijk gaat dit ook zo bij ‘UCase’.
Ik heb voor de overzichtelijkheid het aantal lettercombinaties even ingekort.
Wie o wie helpt mij weer op weg, bij voorbaat veel dank.
Ooit heb ik deze code kunnen plaatsen in een roosterprogramma met de excellente hulp van Wigi. Het WorkBook heeft 16 pagina’s, in elke pagina staat onderstaande code. Het zet bij invoer eventuele kleine letters om in hoofdletters.
De meeste problemen die ik tegen kwam bij de migratie naar Office 2003 heb ik kunnen oplossen maar met onderstaand loop ik tegen een voor mij niet oplosbaar probleem aan. Iedere keer wordt de code gestopt bij ‘Mid’ en krijg ik de melding ‘Compileerfout, kan het project of de bibliotheek niet vinden’ terwijl ik het daar toch echt wel kan vinden. Waarschijnlijk gaat dit ook zo bij ‘UCase’.
Ik heb voor de overzichtelijkheid het aantal lettercombinaties even ingekort.
Wie o wie helpt mij weer op weg, bij voorbaat veel dank.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("H5:AI60")) Is Nothing And Target.Count = 1 Then
Target.Value = ChCase(Target, "abcdfghjklmnopqrstuvwxyz") 'e en i ontbreken!
End If
Application.EnableEvents = True
End Sub
________________________________________________________________________
Function ChCase(c As Range, Optional sAlleenDeze As String = "abcdfghjklmnopqrstuvwxyz") As String
Dim sRegel As String, sRegelNw As String, sLetter As String, sLetterNw As String
Dim i As Integer
sRegel = c.Value
For i = 1 To Len(sRegel)
sLetter = Mid(sRegel, i, 1)
If InStr(1, sAlleenDeze, sLetter) > 0 And ActiveCell.Value = "d" Or ActiveCell.Value = "d#" Or ActiveCell.Value = "s" Then
sLetterNw = UCase(sLetter)
Else:
sLetterNw = sLetter
End If
sRegelNw = sRegelNw & sLetterNw
Next i
ChCase = sRegelNw
End Function
Laatst bewerkt: