Para Integrar línea para 1ª letra de cada palabra en MAYÚSCULAS

Se trata de una macro para convertir de números a Letras que tengo acá y que esta parte de la macro,

  If Mayusculas = 1 Then
    TFNumero = UCase(TFNumero) 'MAYUSCULA
  Else
    TFNumero = LCase(TFNumero) 'minúscula
  Else
    TFNumero = ¿aquí que?(TFNumero) 'AQUI LA 1ª LETRA MAYUSCULA
  End If

me permite que las letras de la frase las ponga todas en MAYUSCULAS y o minusculas colocando en la celda donde van las letras (frases) =Numletras(A2;1). El numero es el tipo de letra =Numletras(A7;0) minusculas Y =Numletras(A2;1) MAYUSCULAS.

En esta linea  TFNumero = ¿Aquí qué?(TFNumero) 'AQUÍ LA 1ª LETRA MAYÚSCULA

Quiero para que la 1ª letra de cada palabra salga en MAYÚSCULAS.

No quiero cambiar de macro a pesar de tener algunas otras pero que son un tanto largas de código, por encima de 296 líneas y estra con solo 190, hace lo que se necesita pero, le falta esta línea ahí donde la menciono.

1 Respuesta

Respuesta
1

h o  l a:

Te anexo la macro, los números serían 1,2 y 3

    Select Case Mayusculas
        Case 1
            TFNumero = UCase(TFNumero)              'MAYUSCULA
        Case 2
            TFNumero = LCase(TFNumero)              'minúscula
        Case 3
            TFNumero = Application.Proper(TFNumero) 'LA 1ª LETRA MAYUSCULA
    End Select

s a l u d o s

Ha perfección, todo bien, como anillo en dedo

Gracias DAM

Trate pero sin éxito, aunque les parezca absurdo esto pero

  Select Case Letra
Case 1
TFNumero = StrConv(TFNumero, vbUpperCase)
Case 2
TFNumero = StrConv(TFNumero, vbLowerCase)
Case 3
TFNumero = StrConv(TFNumero, vbProperCase)
End Select
y tambien
  Select Case Letra
Case 1
TFNumero = UCase(TFNumero)
Case 2
TFNumero = UCase(TFNumero)
Case 3
TFNumero = (TFNumero, vbProperCase)
End Select

Tambien dentro de esta forma.

  If Mayusculas = 1 Then
    TFNumero = UCase(TFNumero)
  Else
    TFNumero = LCase(TFNumero)
  ''Else
  ''  TFNumero = vbProperCase(TFNumero)
  'End If
INCAPAz DE ACERTAR

Gracias DAM

Lo correcto es así:

    texto = "prueba de letras"
    '
    Select Case opcion
        Case 1
            res = StrConv(texto, vbUpperCase)   'res = PRUEBA DE LETRAS
        Case 2
            res = StrConv(texto, vbLowerCase)   'res = prueba de letras
        Case 3
            res = StrConv(texto, vbProperCase)  'res = Prueba De Letras
    End Select

Pero es difícil entregar lo que necesitas si no sé qué es lo que tienes en tus variables "letra" y "TFNumero", estoy asumiendo que en la variable "letra" tienes que traer un número 1,2 ó 3, y que en tu variable "TFNumero" tienes un texto; lo cual suena bastante raro, ya que no estás utilizando la nemotecnia adecuada, es decir, si en "letra" vas a traer un número, lo correcto es que la variable se llame "numero" y por el otro lado si en "TFNumero" tienes un texto, entonces la variable debe llamarse "TFTexto".


La otra estructura es así, pero después de 2 condiciones prefiero utilizar la estructura Select Case

    texto = "prueba de letras"
    '
    If opcion = 1 Then
        res = StrConv(texto, vbUpperCase)   'res = PRUEBA DE LETRAS
    ElseIf opcion = 2 Then
        res = StrConv(texto, vbLowerCase)   'res = prueba de letras
    ElseIf opcion = 3 Then
        res = StrConv(texto, vbProperCase)  'res = Prueba De Letras
    End If

s a l u d o s

Lo cierto amigo DAM, es que con la 1ª que dejaste funciona bien pero, voy a tomar las que dejas para tenerlas por si.

Gracias

Te estoy enviando el modulo

Puse las otras estructuras para que supieras cómo funcionan, pero ya sabes que cualquier otra petición, es con una nueva pregunta. S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas