Poner en mayucula cada palabra en una tabla
Buenos días,
El tema que comentais lto de la siguiente forma:
Primero creo un módulo con la función para poder llamarlo desde cualquier parte, en la que también considero las partículas de combre, de, da, del etc.:
Function PrimLetraMay(Texto As String) As String
Dim X As Long
Dim AnteriorEsEspacio As Boolean
Dim Particulas(8) As String
Dim Y As Long
Dim Z As Long
Particulas(1) = " De "
Particulas(2) = " Del "
Particulas(3) = " La "
Particulas(4) = " Y "
Particulas(5) = " Los "
Particulas(6) = " Dels "
Particulas(7) = "Da "
Particulas(8) = "De "
AnteriorEsEspacio = True
For X = 1 To Len(Texto)
If Mid(Texto, X, 1) <> " " And AnteriorEsEspacio = True Then
PrimLetraMay = PrimLetraMay & UCase(Mid(Texto, X, 1))
Else
If Mid(Texto, X, 1) = " " And AnteriorEsEspacio = True Then
Else
PrimLetraMay = PrimLetraMay & LCase(Mid(Texto, X, 1))
End If
End If
If Mid(Texto, X, 1) = " " Then
AnteriorEsEspacio = True
Else
AnteriorEsEspacio = False
End If
Next X
For X = 1 To 8 'Número de partículas.
Z = 1
Y = InStr(Z, PrimLetraMay, Particulas(X))
Do While Y > 0
PrimLetraMay = Left(PrimLetraMay, Y - 1) & LCase(Particulas(X)) & Right(PrimLetraMay, 1 + Len(PrimLetraMay) - Y - Len(Particulas(X)))
Z = Y + 1
Y = InStr(Z, PrimLetraMay, Particulas(X))
Loop
Next X
End Function
Seguidamente en la entrada de datos que siempre hago mediante formulario en el punto de después de actualizar inscribo el siguiente código:
Private Sub CAMPO_AfterUpdate()
Me.CAMPO = PrimLetraMay(Me.CAMPO)
End Sub
Saludos,