Letras mayusculas

03/08/2006 - 13:02 por Fran | Informe spam
Me podría decir alguien como hacer para que si escribo en una celda en
minúsculas apareciera las letras mayúsculas, yo lo intento hacer con
la formula MAYUSC pero me da un error.

Preguntas similare

Leer las respuestas

#1 David
03/08/2006 - 16:14 | Informe spam
La función MAYUSC no es para ese tipo de aplicación. Te serviría para copiar
el texto de una celda en otra pero convertido a mayúscula.

Por ejemplo, si en A1 tienes tu nombre (mayúsculas y minúsculas), en B1
podrías poner =MAYUSC(A1). Luego, si tu objetivo fuera que la celda original
se convirtiera a mayúscula, tendrías que copiar el contenido de B1, y
ejecutar un "pegado especial de texto" sobre A1 para finalmente borrar el
contenido de B1.

¿Demasiado lío, no?

La alternativa entonces, sería atacar el problema por programación. Prueba
el siguiente código:

Sub mayuscX()
Dim rng As Range, c As Range
Application.ScreenUpdating = False
If TypeOf Selection Is Range Then
On Error Resume Next
Set rng = Selection.Cells.SpecialCells( _
xlCellTypeConstants, xlTextValues)
For Each c In rng
c.Value = UCase(c.Value)
Next
End If
Application.ScreenUpdating = True
End Sub

Con él, puedes seleccionar un rango de celdas, ya sea contínuo o un grupo de
rangos no adyacentes, y al ejecutarlo, te convertirá las celdas que contengan
texto en mayúsculas.

Otra posibilidad sería interceptar el evento Worksheet_Change, para cambiar
el texto a mayúsculas siempre que haya un cambio en la hoja. Si pensamos
sólo en la celda F1, podríamos hacer algo como lo siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" Then
Target.Value = UCase(Target.Value)
End If
End Sub

Si lo necesitas para toda la hoja, sólo quita la línea del If, y la línea
del End IF.

Comentas...



"Fran" escribió:

Me podría decir alguien como hacer para que si escribo en una celda en
minúsculas apareciera las letras mayúsculas, yo lo intento hacer con
la formula MAYUSC pero me da un error.


Respuesta Responder a este mensaje
#2 Fran
03/08/2006 - 16:59 | Informe spam
A mi me interesaria el ultimo codigo que me pasas, pero tengo otro
codigo que es el siguiente y al introducir el tuyo cuando intento
escribir en la celda donde tiene que ponerse en mayusculas me da un
error


Este es el codigo que tengo

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Then Exit Sub
If Target <> "B" Then Exit Sub
Dim Fig As Shape
For Each Fig In ActiveSheet.Shapes
If Fig.Type = msoPicture _
And Fig.TopLeftCell.Address = Target.Offset(, 1).Address _
Then Fig.Delete: Exit For
Next
End Sub
Respuesta Responder a este mensaje
#3 David
03/08/2006 - 21:30 | Informe spam
Disculpa que tardara en responder.

En lo que yo he probado, esta modificación no me ha fallado, pero como no sé
qué es lo que haces en tu código... Bueno, pruébalo, a ver si te sirve:

Private Sub Worksheet_Change(ByVal Target As Range)
For Each celda In Target.Cells
If celda.Value <> UCase(celda.Value) Then celda.Value = UCase(celda.Value)
Next
If Target.Count > 1 Or Target.Column > 1 Then Exit Sub
If Target <> "B" Then Exit Sub
Dim Fig As Shape
For Each Fig In ActiveSheet.Shapes
If Fig.Type = msoPicture _
And Fig.TopLeftCell.Address = Target.Offset(, 1).Address _
Then Fig.Delete: Exit For
Next
End Sub




"Fran" escribió:

A mi me interesaria el ultimo codigo que me pasas, pero tengo otro
codigo que es el siguiente y al introducir el tuyo cuando intento
escribir en la celda donde tiene que ponerse en mayusculas me da un
error


Este es el codigo que tengo

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Then Exit Sub
If Target <> "B" Then Exit Sub
Dim Fig As Shape
For Each Fig In ActiveSheet.Shapes
If Fig.Type = msoPicture _
And Fig.TopLeftCell.Address = Target.Offset(, 1).Address _
Then Fig.Delete: Exit For
Next
End Sub


Respuesta Responder a este mensaje
#4 Fran
04/08/2006 - 09:52 | Informe spam
Este ultimo codigo que me mandas si funciona pero en toda la hoja, yo
solo quiero que funcione por ejemplo en la celda F1 y en la E2.

El codigo que tengo yo es si sale una letra B en la columna A elimine
una imagen que hay en la columna B
Respuesta Responder a este mensaje
#5 Fran
04/08/2006 - 16:10 | Informe spam
Muchas gracias,

Un ultimo favor, se podria acer esto pero que en la casilla F1 sea en
mayusculas y en negrita.

No se si estoy abusando
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida